Heim  >  Artikel  >  Backend-Entwicklung  >  So implementieren Sie Beispielcode für die PHP-Bildskalierung

So implementieren Sie Beispielcode für die PHP-Bildskalierung

怪我咯
怪我咯Original
2017-07-10 11:51:421405Durchsuche

In diesem Artikel wird hauptsächlich die Methode zum Generieren von Upload-BildernMiniaturansichten entsprechend der angegebenen Größe in gleichen Anteilen in PHP vorgestellt. Freunde, die es benötigen, können sich darauf beziehen it

Der im Artikel angegebene Quellcode kann die Funktion zum Generieren von Miniaturansichten entsprechend der proportionalen Skalierung von Bildern realisieren. Dies ist eine sehr praktische Technik.

Erstellen Sie eine neue Datei index.php. Sie benötigen ein Bild im Statistikverzeichnis als pic.jpg (der Name des Bildes kann je nach Quellcode geändert werden).

Die Der Quellcode lautet wie folgt:

<?php
$filename="pic.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);
//copy部分图像并调整
imagecopyresized($new, $img,0, 0,0, 0,$n_w, $n_h, $width, $height);
//图像输出新图片、另存为
imagejpeg($new, "pic1.jpg");
imagedestroy($new);
imagedestroy($img);
?>

Nachdem es mit einem Browser ausgeführt wurde, befindet sich pic1.jpg im Verzeichnis auf derselben Ebene wie index.php. Der Pfad kann sein im Quellcode geändert und in Ihr eigenes Projekt eingefügt werden. Sie können eine Methode erstellen oder schreiben.


Im Folgenden wird die Bildkomprimierungsmethode in PHP beschrieben. Leser können darauf zurückgreifen oder sie entsprechend der spezifischen Anwendung verbessern und den Code imgzip($src,$newwid,$newhei) direkt hochladen FunktionEingebracht werden das Originalbild, die für die Skalierung erforderliche Breite und die Skalierungslänge.

<?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 obige ist der detaillierte Inhalt vonSo implementieren Sie Beispielcode für die PHP-Bildskalierung. 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