Heim  >  Artikel  >  Backend-Entwicklung  >  Beispiele für das Zuschneiden von PHP-Bildern und die Verwendung von Miniaturansichten erklärt

Beispiele für das Zuschneiden von PHP-Bildern und die Verwendung von Miniaturansichten erklärt

php中世界最好的语言
php中世界最好的语言Original
2018-05-21 11:25:292049Durchsuche

Dieses Mal bringe ich Ihnen PHP-Bild-Zuschnitt und MiniaturansichtVerwendungErklärung, PHP-Bild-Zuschnitt und Miniaturansicht-VerwendungVorsichtsmaßnahmen Was sind sie? ? Hier sind tatsächliche Fälle.

Bei der PHP-Programmierung stoßen wir häufig auf Situationen, in denen Bilder zu groß sind und inkonsistente Spezifikationen haben. Die Anzeigesteuerung muss durch JavaScript vervollständigt werden, das verwendet wird Beim Hochladen ist der Anzeigeeffekt nicht gut und der Datenverkehr muss einmal verarbeitet werden, um für Mobilgeräte geeignete Miniaturansichten zu generieren auf die Serverseite übertragen und mithilfe der GD-Bibliothek von PHP zentralisiert.

Anforderungen, Bildquelle und erforderliche Größe:

$src_img = "wallpaper.jpg"; 
$dst_w = 300; 
$dst_h = 200;

Beschneiden Sie das Bild, um sicherzustellen, dass der Bildbereich maximiert und auf die angegebene Größe skaliert wird.

Ich habe zunächst die Methode imagecopyresized verwendet, um das Bild proportional zu verkleinern. Nach der eigentlichen Operation stellte ich fest, dass das Bild nach der Verkleinerung sehr trocken war. Wechseln Sie dann zur Methode imagecopyresampled (Ich sage Ihnen hier, es gibt viele Nachdrucke dieses Artikels im Internet, aber alle schreiben imagecopyresampled als imagecopysampled, was es unbrauchbar macht, also habe ich dies erneut gepostet). Reduzieren Sie die Bildgröße, um die Klarheit erheblich zu verbessern.

<?php 
list($src_w,$src_h)=getimagesize($src_img); // 获取原图尺寸 
$dst_scale = $dst_h/$dst_w; //目标图像长宽比 
$src_scale = $src_h/$src_w; // 原图长宽比 
if($src_scale>=$dst_scale) 
{ 
// 过高 
$w = intval($src_w); 
$h = intval($dst_scale*$w); 
$x = 0; 
$y = ($src_h - $h)/3; 
} 
else 
{ 
// 过宽 
$h = intval($src_h); 
$w = intval($h/$dst_scale); 
$x = ($src_w - $w)/2; 
$y = 0; 
} 
// 剪裁 
$source=imagecreatefromjpeg($src_img); 
$croped=imagecreatetruecolor($w, $h); 
imagecopy($croped,$source,0,0,$x,$y,$src_w,$src_h); 
// 缩放 
$scale = $dst_w/$w; 
$target = imagecreatetruecolor($dst_w, $dst_h); 
$final_w = intval($w*$scale); 
$final_h = intval($h*$scale); 
imagecopyresampled($target,$croped,0,0,0,0,$final_w,$final_h,$w,$h); 
// 保存 
$timestamp = time(); 
imagejpeg($target, "$timestamp.jpg"); 
imagedestroy($target); 
?>

Ich glaube, dass Sie die Methode beherrschen, nachdem Sie den Fall in diesem Artikel gelesen haben. Weitere spannende Informationen finden Sie in anderen verwandten Artikeln auf der chinesischen PHP-Website!

Empfohlene Lektüre:

PHP schneidet das Bild zu, ohne seine Form zu beeinflussen

PHP bestimmt, ob das Remote-Bild aufgerufen werden kann

Das obige ist der detaillierte Inhalt vonBeispiele für das Zuschneiden von PHP-Bildern und die Verwendung von Miniaturansichten erklärt. 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