Heim  >  Artikel  >  Backend-Entwicklung  >  So implementieren Sie die proportionale Skalierung von Bildern in PHP

So implementieren Sie die proportionale Skalierung von Bildern in PHP

怪我咯
怪我咯Original
2017-07-10 11:50:382327Durchsuche

Wird hauptsächlich in die Verwendung von PHP zum Skalieren von Bildern eingeführt, und Sie können die erforderliche Breite und Länge des Originalbilds angeben.

Dieser Artikel stellt die Methode der Bildkomprimierung in PHP vor. Leser können entsprechend der jeweiligen Anwendung darauf verweisen oder es verbessern und den Code direkt hochladen. Die -Funktion von imgzip ($src, $newwid, $newhei) bringt das Originalbild in der erforderlichen Breite ein Skalierung und die Länge der Skalierung.

<?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[1]);
//销毁原始图片
 imagedestroy($image);
//直接输出图片文件

 header("Content-type: ".$imgInfo[&#39;mime&#39;]);
 imagejpeg($images2);
//保存图片 到新文件
 imagejpeg($images2, &#39;new.jpg&#39;, 100); //10代码输出图片的质量 0-100 100质量最高
//销毁
 imagedestroy($images2);
}
imgzip($src,$newwid,$newhei);
?>

Das Folgende ist der Code für die gleiche Skalierung von Bildern mit PHP. Freunde können ihn in das Bild integrieren hochladen

Einen neuen Dateiindex erstellen .php, Sie benötigen ein Bild q.jpg im Statistikverzeichnis (der Name des Bildes kann je nach Quellcode geändert werden)

Der Quellcode lautet wie folgt:

<?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);
?>

Nach der Ausführung mit einem Browser befindet sich q1.jpg im Verzeichnis auf derselben Ebene wie index.php. Der Pfad kann im Quellcode geändert und in Ihrem eigenen Projekt platziert werden oder geschrieben. Jede Methode reicht aus

Das obige ist der detaillierte Inhalt vonSo implementieren Sie die proportionale Skalierung von Bildern in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn