Maison > développement back-end > tutoriel php > Manipulation d'images en php à l'aide de GD

Manipulation d'images en php à l'aide de GD

Jennifer Aniston
Libérer: 2025-03-04 09:20:11
original
602 Les gens l'ont consulté

Ce tutoriel explore la bibliothèque GD (Graphic Draw) de PHP pour une manipulation efficace d'image. La gestion de nombreuses images de sites Web peut être difficile, mais GD automatise des tâches comme le redimensionnement, le recadrage et le filtrage.

Ce guide couvre:

  • Création d'images avec PHP GD: Créer de nouvelles images, charger des fichiers existants et générer des images à partir de chaînes.
  • Transformations d'image: Images de rotation, d'échelle, de recadrage et de retournement.
  • Filtrage d'images: Appliquer des effets comme les niveaux de gris et les ajustements de contraste.
  • Fonctions d'image essentielles: Obtenir des dimensions d'image, enregistrer des images modifiées et manipuler les couleurs de pixels.
  • Traitement d'image par lots: Redimensionner et appliquer des filtres à toutes les images d'un répertoire.

Qu'est-ce que GD?

La bibliothèque GD de PHP vous permet de manipuler et de créer des images directement dans vos scripts PHP. Il gère les besoins d'édition d'images communs.

Configuration

sur Windows, activez l'extension php_gd2.dll dans votre fichier php.ini (souvent situé dans xamppphpext). Vérifiez l'installation de GD à l'aide de imagecreatefrompng(). La fonction imagecolorsforindex($image, $color) est utile pour une manipulation précise des couleurs. Cependant, pour des ajustements de couleurs plus flexibles, envisagez de travailler avec des composants de couleur individuels (rouge, vert, bleu) pour permettre la tolérance.

Manipulating Images in PHP Using GD

Images de redimensionnement par lots

Cet exemple redimensionne toutes les images JPEG dans un répertoire ("Nature /") à une largeur de 640 pixels, ajustant automatiquement la hauteur proportionnellement. Les images redimensionnées sont enregistrées dans un nouveau sous-répertoire "redimensionné".

$directory = 'Nature/';
$images = glob($directory."*.jpg");

foreach($images as $image) {
    $im_php = imagecreatefromjpeg($image);
    $im_php = imagescale($im_php, 640);
    $new_height = imagesy($im_php);
    $new_name = str_replace('-1920x1080', '-640x'.$new_height, basename($image));
    imagejpeg($im_php, $directory.'Resized/'.$new_name);
}
Copier après la connexion

Ce code utilise glob() pour localiser les JPEG, imagecreatefromjpeg() pour les charger, imagescale() pour le redimensionnement, et imagejpeg() pour enregistrer les résultats. Les ajustements de nom de fichier assurent la clarté.

Lot en appliquant les filtres

Cet exemple applique des filtres en niveaux de gris et en contraste (-25 pour un contraste accru) à tous les JPEG dans "Nature /", en enregistrant les images filtrées à un sous-répertoire "GraysCale".

$directory = 'Nature/';
$images = glob($directory."*.jpg");

foreach($images as $image) {
    $im_php = imagecreatefromjpeg($image);
    imagefilter($im_php, IMG_FILTER_GRAYSCALE);
    imagefilter($im_php, IMG_FILTER_CONTRAST, -25);
    $new_name = basename($image);
    imagejpeg($im_php, $directory.'Grayscale/'.$new_name);
}
Copier après la connexion

imagefilter() Modifie directement la ressource d'image. Notez que les valeurs de contraste varient de -100 à 100 (les valeurs négatives augmentent le contraste).

Conclusion

La bibliothèque GD de PHP offre de puissantes capacités de manipulation d'images, rationalisant la gestion des images du site Web et gagnant un temps considérable. Les exemples fournis servent de base pour créer des scripts de traitement d'image plus complexes. Des fonctions comme imagesx() permettent la manipulation de l'image conditionnelle basée sur les dimensions.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal