PHP est un langage de programmation largement utilisé dans le développement Web. Il est très lisible et facile à apprendre. Il a également une grande valeur applicative dans le domaine du traitement d'images. De la mise à niveau de PHP5.5 vers PHP7.0, PHP a apporté une série d'optimisations et d'améliorations dans le traitement des images, notamment une gestion plus efficace de la mémoire, une vitesse d'exécution plus rapide, des fonctions de traitement d'images plus riches, etc. Cet article présentera en détail comment effectuer le traitement d'image dans PHP7.0.
1. Bibliothèque GD
Le traitement d'images est une partie essentielle du développement Web, c'est pourquoi PHP fournit de nombreuses bibliothèques pour aider les développeurs Web à effectuer le traitement d'images, dont la bibliothèque GD est la plus courante. La bibliothèque GD est une bibliothèque d'extension pour PHP qui fournit de nombreuses fonctions simples et faciles à utiliser pour traiter les images, telles que la mise à l'échelle, la rotation, le cisaillement, etc. En PHP7.0, la bibliothèque GD a également subi quelques optimisations. Pour utiliser la bibliothèque GD, elle peut être activée via la directive d'extension dans le fichier php.ini et doit être activée lors de l'installation de PHP.
2. Installez la bibliothèque GD
Avant d'utiliser la bibliothèque GD, vous devez vérifier si PHP a activé cette bibliothèque. Vous pouvez afficher les informations de configuration PHP via la fonction phpinfo(), y compris les informations sur la bibliothèque GD. Vous pouvez vérifier si la bibliothèque GD est installée par la méthode suivante :
<?php phpinfo(); ?>
Si vous ne voyez pas le tableau du module d'extension gd, cela signifie que la bibliothèque GD n'est pas installée. Pour installer la bibliothèque GD, vous pouvez suivre les étapes suivantes :
Visitez le site officiel de la bibliothèque GD (https://libgd.github.io/) et téléchargez le package d'installation correspondant.
Pour installer la bibliothèque GD, vous devez d'abord installer les dépendances gd, libpng, libjpeg et libfreetype, qui dépendent du système d'exploitation que vous utilisez.
Par exemple, dans Ubuntu, ces dépendances peuvent être installées à l'aide de la commande suivante :
sudo apt-get install libpng-dev libjpeg-dev libfreetype6-dev
Compilez et installez la bibliothèque GD à l'aide de la commande suivante :
./configure make make install
Entrez le fichier php .ini (ou php-fpm.ini dans le cas de PHP-FPM), et recherchez les instructions suivantes :
;extension=gd.so
Supprimez le point-virgule précédent, décommentez-le, enregistrez et redémarrez le serveur.
3. Traitement d'image
Vous devez d'abord créer un canevas Vous pouvez utiliser la fonction imagecreatetruecolor() de la bibliothèque GD pour créer un canevas avec une taille et une couleur spécifiées. Par exemple, le code suivant créera un canevas avec des dimensions de 400x400 pixels et une couleur d'arrière-plan blanche :
$image = imagecreatetruecolor(400, 400); $background = imagecolorallocate($image, 255, 255, 255); imagefill($image, 0, 0, $background);
Pour manipuler des images, le fichier image doit être lu en mémoire. Les images peuvent être lues à l'aide de la fonction imagecreatefromxxx() de la bibliothèque GD. xxx représente différents formats de fichiers image, tels que jpeg, png, gif, etc. Par exemple, le code suivant lira une image JPEG nommée "test.jpg" :
$image = imagecreatefromjpeg('test.jpg');
La mise à l'échelle d'une image est une opération courante de traitement d'image. Vous pouvez utiliser la fonction imagescale() de la bibliothèque GD pour redimensionner l'image et spécifier la taille mise à l'échelle. Par exemple, le code suivant redimensionnera une image de 800 x 600 pixels à une taille de 400 x 300 pixels :
$image = imagecreatefromjpeg('test.jpg'); $resized_image = imagescale($image, 400, 300);
Une autre opération courante de traitement d'image consiste à faire pivoter une image. Vous pouvez utiliser la fonction imagerotate() de la bibliothèque GD pour faire pivoter une image et spécifier l'angle de rotation. Par exemple, le code suivant fera pivoter une image de 90 degrés :
$image = imagecreatefromjpeg('test.jpg'); $rotated_image = imagerotate($image, 90, 0);
La fusion d'images est une opération qui combine deux images ou plus en une nouvelle image. Les images peuvent être fusionnées à l'aide de la fonction imagecopy() de la bibliothèque GD. Par exemple, le code suivant fusionnera deux images :
$image1 = imagecreatefrompng('image1.png'); $image2 = imagecreatefromjpeg('image2.jpg'); imagecopy($image1, $image2, 0, 0, 0, 0, 200, 200);
Couper une image est une opération courante qui peut être réalisée à l'aide de la fonction imagecrop() de la bibliothèque GD. Par exemple, le code suivant découpera un carré de 200 x 200 pixels dans une image de dimensions 800 x 600 pixels :
$image = imagecreatefromjpeg('test.jpg'); $cropped_image = imagecrop($image, ['x' => 300, 'y' => 200, 'width' => 200, 'height' => 200]);
Enfin, affichez l'image traitée dans la réponse. Vous pouvez utiliser les fonctions imagepng(), imagejpeg(), imagegif() de la bibliothèque GD pour générer des images dans des fichiers au format PNG, JPEG, GIF et autres formats. Par exemple, le code suivant génère une image JPEG nommée "output.jpg" dans la réponse :
header('Content-Type: image/jpeg'); imagejpeg($image, null, 100);
IV Résumé
Le traitement des images en PHP7.0 est très simple, utilisant principalement les différentes fonctions fournies par la bibliothèque GD Functions. créer, manipuler et produire des images. Pour utiliser la bibliothèque GD, vous devez vérifier et installer les dépendances et activer les extensions correspondantes dans le fichier php.ini. Vous pouvez ensuite utiliser diverses fonctions de la bibliothèque GD pour implémenter des opérations courantes de traitement d'image telles que la mise à l'échelle, la rotation, le cisaillement et la fusion. Pour le traitement d'images dans le développement Web, PHP7.0 est un choix très efficace et efficient.
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!