Manipuler les images
<?php /*打开图片*/ //配置图片路径 $src = "https://img.php.cn/upload/course/000/000/004/581454f755fb1195.jpg"; //获取图片的基本信息 $info=getimagesize($src); //通过图像的编号来获取图片的类型 $type=image_type_to_extension($info[2],false); //内存中创建一个和我们图像类型一致的图像 $fun = "imagecreatefrom{$type}"; //把要操作的图片复制到内存中 $image=$fun($src); /*操作图片*/ //设置水印路径 $image_Mark = "https://img.php.cn/upload/course/000/000/004/5814594e3e7c9278.png"; //获取水印的基本信息 $info2=getimagesize($image_Mark); //通过水印的图像编号来获取水印的图片类型 $type2=image_type_to_extension($info2[2],false); //在内存中创建一个和水印图像一致的图像类型 $fun2="imagecreatefrom{$type2}"; //把水印复制到内存中 $water = $fun2($image_Mark); //合并图片 imagecopymerge($image,$water,60,40,0,0,$info2[0],$info2[1],30); //销毁水印图片 imagedestroy($water); ?>
Explication du code :
getimagesize — Obtenez la taille de l'image
image_type_to_extension-Renvoie le nom du suffixe.
Ensuite, stockez-le dans la mémoire, utilisez la fonction imagecopymerge pour fusionner les images et ajouter des filigranes
imagecopymerge — copiez et fusionnez une partie de l'image
bool imagecopymerge ( resource $dst_im , resource $src_im , int $dst_x , int $dst_y , int $src_x , int $src_y , int $src_w , int $src_h , int $pct )
Démarrez les coordonnées dans l'image src_im de src_x, src_y, la largeur est src_w et la hauteur est src_h et une partie est copiée dans Les coordonnées dans l'image dst_im sont dst_x et à la position de dst_y. Les deux images seront fusionnées sur la base du PCT, qui va de 0 à 100. Quand PCT = 0, ça ne fait rien, quand c'est 100 Cette fonction est exactement la même que imagecopy() pour les images en palette, elle implémente la transparence alpha pour les images en vraies couleurs.
section suivante