Maison >développement back-end >tutoriel php >Explication détaillée de l'exemple d'image de mise à l'échelle proportionnelle php
Cet article présente principalement les informations pertinentes sur la mise à l'échelle proportionnelle PHPimages
Code direct, la fonction imgzip($src,$newwid,$newhei)fonctionQuoi sont introduits l'image originale, la largeur requise pour la mise à l'échelle et la longueur de la mise à l'échelle. Le code est tout noté
<?php //压缩图片 缩略图 $src= "xiezheng.jpg"; $newwid=640; $newhei= 480; function imgzip($src,$newwid,$newhei){ $imgInfo = getimagesize($src); $imgType = image_type_to_extension($imgInfo[2], false); $fun = "imagecreatefrom{$imgType}"; //声明图片 打开图片 在内存中 $image = $fun($src); //方便配置长度宽度、高度,设置框为变量wid,高度为hei $wid=$imgInfo[0]; $hei=$imgInfo[1]; //判断长度和宽度,以方便等比缩放,规格按照500, 320 if($wid>$hei){ $wid=$newwid; $hei=$newwid/($wid/$hei); }else { $wid = $newhei * ($wid / $hei); $hei = $newhei; } //在内存中建立一张图片 $images2 = imagecreatetruecolor($newwid, $newhei); //建立一个500*320的图片 //将原图复制到新建图片中 //imagecopyresampled($dst_image, $src_image, $dst_x, $dst_y, $src_x, $src_y, $dst_w, $dst_h, $src_w, $src_h) imagecopyresampled($images2, $image, 0, 0, 0, 0, $wid,$hei, $imgInfo[0],$imgInfo[0]); //销毁原始图片 imagedestroy($image); //直接输出图片文件 header("Content-type: ".$imgInfo[‘mime‘]); imagejpeg($images2); //保存图片 到新文件 imagejpeg($images2, ‘new.jpg‘, 100); //10代码输出图片的质量 0-100 100质量最高 //销毁 imagedestroy($images2); } imgzip($src,$newwid,$newhei); ?>
Effets
Avant compression
Après compression
Ce qui suit est une autre méthode
Créez un nouveau fichier index.php Vous devez avoir une image dans le répertoire des statistiques sous la forme q.jpg (le nom de l'image peut être modifié. selon le code source)
Le code source est le suivant :
<?php $filename="q.jpg"; $per=0.3; list($width, $height)=getimagesize($filename); $n_w=$width*$per; $n_h=$height*$per; $new=imagecreatetruecolor($n_w, $n_h); $img=imagecreatefromjpeg($filename); //拷贝部分图像并调整 imagecopyresized($new, $img,0, 0,0, 0,$n_w, $n_h, $width, $height); //图像输出新图片、另存为 imagejpeg($new, "q1.jpg"); imagedestroy($new); imagedestroy($img); ?>
Après l'avoir exécuté avec un navigateur, il y aura un q1.jpg dans le répertoire au même niveau que index.php. Cette image est une image à l'échelle. Le chemin peut être Vous pouvez apporter des modifications au code source vous-même, le mettre dans votre propre projet ou écrire une méthode
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!