Fichier d'opération de miniature de développement PHP
Fichiers d'exploitation
<?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); /*操作图片*/ //在内存中建立一个宽300高200的真色彩图片 $image_thumb = imagecreatetruecolor(300,200); //将原图复制到新建的真色彩图片上,并且按照一定比例压缩(参数1:真色彩图片,参数2:原图,参数3,4,5,6:原图和真色彩图的起始点,参数7,8:原图和真色彩图的结束点,参数9:原图宽,参数10:原图高) imagecopyresampled($image_thumb,$image,0,0,0,0,300,200,$info[0],$info[1]); //销毁原始图片 imagedestroy($image); ?>
Explication du code :
Créez d'abord une toile de couleur de taille spécifiée en mémoire.
imagecreatetruecolor() Renvoie un identifiant d'image, représentant une image de taille Image noire de x_size et y_size.
Utilisez la fonction imagecopyresampled()
bool imagecopyresampled ( resource $dst_image , resource $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 )
imagecopyresampled() pour copier une zone carrée d'une image vers une autre image, en insérant en douceur les valeurs de pixels. Ainsi, entre autres, la taille de l'image est réduite tout en conservant une grande netteté.
dst_image
Ressource de connexion d'image cible.
src_image
Ressource de connexion d'image source.
dst_x
Point de coordonnées X cible.
dst_y
Point de coordonnées Y cible.
src_x
Le point de coordonnées X de la source.
src_y
Le point de coordonnées Y de la source.
dst_w
Largeur cible.
dst_h
Hauteur cible.
src_w
La largeur de l'image source.
src_h
La hauteur de l'image source.
Détruisez ensuite l'image copiée dans la mémoire.