Maison > Article > développement back-end > Introduction à l'utilisation des fonctions de traitement des effets d'image PHP
PHP, en tant que langage de script, dispose d'une riche bibliothèque de fonctions de traitement d'image, qui peuvent facilement effectuer diverses opérations de traitement sur les images, telles que la mise à l'échelle, la découpe, le filigrane, les filtres, etc., et prend en charge les images dans différents formats.
Dans cet article, nous présenterons les fonctions de traitement d'image couramment utilisées en PHP et fournirons des scénarios d'application pratiques et des exemples de codes.
1. Zoom et recadrage
Le zoom et le recadrage sont des opérations courantes pour le traitement des images. Ci-dessous, nous présenterons en détail les fonctions de traitement d'image PHP correspondantes.
imagecopyresized() est la fonction de mise à l'échelle la plus couramment utilisée en PHP, qui peut modifier la taille d'une image tout en conservant les proportions de l'image d'origine.
La syntaxe de cette fonction est la suivante :
bool imagecopyresized ( ressource $dst_image , ressource $src_image , int $dst_x , int $dst_y , int $src_x , int $src_y , int $dst_w , int $dst_h , int $ src_w , int $ src_h )
Explication du paramètre :
$src_image = imagecreatefrompng('origin.png');
$dst_image = imagecreatetruecolor(300, 300);
$src_w = imagesx($ src_image );//Obtenir la largeur de l'image source
$src_h = imagesy($src_image);//Obtenir la hauteur de l'image source
$dst_w = 300;
$dst_h = 300;
imagecopyresized($dst_image, $src_image, 0, 0, 0 , 0, $dst_w, $dst_h, $src_w, $src_h);
imagepng($dst_image, 'resize.png');
imagedestroy($src_image);
imagedestroy($dst_image);
?>
La syntaxe de cette fonction est la suivante :
bool imagecopyresampled ( ressource $dst_image , ressource $src_image , int $dst_x , int $dst_y , int $src_x , int $src_y , int $dst_w , int $dst_h , int $ src_w , int $ src_h )
L'explication des paramètres est la même que celle de imagecopyresized().
Voici un exemple de code pour recadrer une image :
$src_image = imagecreatefrompng('origin.png');
$dst_image = imagecreatetruecolor(200, 200);
$src_w = imagesx($ src_image );//Obtenir la largeur de l'image source
$src_h = imagesy($src_image);//Obtenir la hauteur de l'image source
$dst_w = 200;
$dst_h = 200;
$x = 0;
$y = 0;
$src_x = ($src_w-$dst_w)/2;
$src_y = ($src_h-$dst_h)/2;
imagecopyresampled($dst_image, $src_image, $x, $y, $src_x, $src_y, $ dst_w , $dst_h, $dst_w, $dst_h);
imagepng($dst_image, 'crop.png');
imagedestroy($src_image);
imagedestroy($dst_image);
?>
2. Filigrane
Droite L'ajout de filigranes aux images est un scénario souvent impliqué dans des applications pratiques, et PHP fournit également le support des fonctions correspondantes. La fonction
imagecopy() peut être utilisée pour superposer une image sur une autre image pour obtenir un effet de filigrane.
La syntaxe de cette fonction est la suivante :
bool imagecopy ( ressource $dst_image , ressource $src_image , int $dst_x , int $dst_y , int $src_x , int $src_y , int $src_w , int $src_h )
Explication du paramètre :
$dst_image est la ressource d'image cible ;$watermark_image = imagecreatefrompng('watermark.png');
$src_w = imagesx ( $src_image);// Obtenez la largeur de l'image source$src_h = imagesy($src_image);// Obtenez la hauteur de l'image source
$watermark_w = imagesx($watermark_image);// Obtenez la largeur du filigrane
$watermark_h = imagesy( $watermark_image ); // Obtenez la hauteur du filigrane
$max_width = $src_w - $watermark_w - 10; // La largeur maximale autorisée à la position du filigrane
$max_height = $src_h - $watermark_h - 10; à la position du filigrane
$x = rand(10, $max_width); // La coordonnée horizontale de la position du filigrane généré aléatoirement
$y = rand(10, $max_height); // La coordonnée verticale de la position du filigrane généré aléatoirement
imagecopy($src_image, $watermark_image, $x , $y, 0, 0, $watermark_w, $watermark_h);
imagepng($src_image, 'watermarked.png');
imagedestroy($src_image);
imagedestroy($ watermark_image);
?>
3. Filtres
PHP fournit également une variété d'effets de filtres qui peuvent rendre les images plus intéressantes et artistiques. La fonction
imagefilter() prend en charge une variété d'effets de filtre, tels que l'inversion, les niveaux de gris, le flou, etc. Pour plus de détails, veuillez vous référer à la documentation officielle PHP.
Ce qui suit est un exemple de code utilisant des effets de filtre :
$src_image = imagecreatefrompng('origin.png');
imagefilter($src_image, IMG_FILTER_PIXELATE, 15, true);// Mosaïque
imagefilter($src_image, IMG_FILTER_CONTRAST, -50);// Réglage du contraste
imagepng($src_image, 'filter.png');
imagedestroy($src_image);
?>
Le code ci-dessus réalise l'ajustement de la mosaïque et du contraste d'une image.
En résumé, PHP fournit un support puissant pour le traitement d'images, et les fonctions sont simples et faciles à utiliser, ce qui peut répondre aux besoins de la plupart des scénarios d'application. Comprendre ces fonctions de traitement d'image couramment utilisées améliorera considérablement l'efficacité du développement d'applications Web.
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!