Heim  >  Artikel  >  Backend-Entwicklung  >  Wie schließe ich die Bildskalierung und das Zuschneiden in PHP ab? (ausführliche Beispiele)

Wie schließe ich die Bildskalierung und das Zuschneiden in PHP ab? (ausführliche Beispiele)

WBOY
WBOYOriginal
2021-10-20 11:54:423547Durchsuche

Im vorherigen Artikel habe ich Ihnen „Wie zeichne ich einen grafischen Bestätigungscode mit PHP?“ vorgestellt. “, in dem basierend auf Vorkenntnissen das Zeichnen von Text in PHP und das Zeichnen grafischer Verifizierungscodes vorgestellt wird. In diesem Artikel werfen wir einen Blick darauf, wie man Grafiken skaliert und zuschneidet. Ich hoffe, es kann allen helfen!

Wie schließe ich die Bildskalierung und das Zuschneiden in PHP ab? (ausführliche Beispiele)

Zuvor haben wir gelernt, wie man einen grafischen Verifizierungscode zeichnet. Schauen wir uns dann an, wie man die Bildskalierung und das Zuschneiden in PHP implementiert. Doch bevor wir das Skalieren und Zuschneiden von Bildern verstehen, lernen wir zunächst die folgenden beiden Funktionen kennen:

  • <strong>imagecopyresampled</strong><strong> </strong> : Wird verwendet, um einen Teil des Bildes neu abzutasten und seine Größe zu ändern. <strong>imagecopyresampled</strong><strong> </strong>:用于重采样拷贝部分图像并调整大小    

  • <strong>imagecopyresized</strong><strong> </strong>:用于拷贝部分图像并调整大小    

这两个函数拷贝图片的,可以用于完成图像的缩放或者裁剪。它们的语法格式参数是一样的,不同的是它们拷贝的图片是部分还是整张的。它们的语法格式如下:

imagecopyresampled ($目标图 ,$来源图,$目标开始的x位置,$目标开始的y位置,$来源开始的x位置,$来源开始的y位置,$目标图片的宽 ,$目标图片的高,$来源图片的宽 ,$来源图片的高 )

从来源图片的开始点(x,y)起,指定的宽高的大小图片。放至到目标图片的起点(x,y),指定宽高大小的图片中。

缩放图片

缩放图片首先我们先准备一张名为dog.png的图片:

Wie schließe ich die Bildskalierung und das Zuschneiden in PHP ab? (ausführliche Beispiele)

我们的代码需要做到以下步骤才能完成对图形的缩放:

  • 打开来源图片

  • 设置图片缩放百分比(缩放)

  • 获得来源图片,按比调整大小

  • 新建一个指定大小的图片为目标图

  • 将来源图调整后的大小放到目标中

  • 销毁资源

示例如下:

<?php
//打开来源图片
$a = imagecreatefrompng(&#39;dog.png&#39;);
//定义百分比,缩放到0.1大小
$percent = 0.1;
// 将图片宽高获取到
list($width, $height) = getimagesize(&#39;dog.png&#39;);
//设置新的缩放的宽高
$new_width = $width * $percent;
$new_height = $height * $percent;
//创建新图片
$new_image = imagecreatetruecolor($new_width, $new_height);
//将原图$image按照指定的宽高,复制到$new_image指定的宽高大小中
imagecopyresampled($new_image, $a, 0, 0, 0, 0, $new_width, $new_height, $width, $height);
header(&#39;content-type:image/jpeg&#39;);
imagejpeg($new_image);
?>

输出结果:

Wie schließe ich die Bildskalierung und das Zuschneiden in PHP ab? (ausführliche Beispiele)

由上述结果,通过imagecopyresampledh函数便完成了图像的缩放。

裁剪图片

裁剪图片,需要通过imagecopyresized

<strong>imagecopyresized</strong><strong> </strong>: Wird verwendet, um einen Teil zu kopieren des Bildes und ändern Sie die Größe. Größe ändern

Wie schließe ich die Bildskalierung und das Zuschneiden in PHP ab? (ausführliche Beispiele)

Diese beiden Funktionen kopieren Bilder und können zum Vervollständigen der Bildskalierung oder des Zuschneidens verwendet werden. Ihre Syntaxformatparameter sind gleich, der Unterschied besteht darin, ob sie einen Teil des Bildes oder das gesamte Bild kopieren. Ihr Syntaxformat ist wie folgt:

    <?php
     $dst = imagecreatefrompng(&#39;dog.png&#39;);
     $src = imagecreatefrompng(&#39;logo.png&#39;);
     imagecopyresized($dst, $src, 0, 0, 0, 0, 52, 59, 52, 59);
     header(&#39;content-type:image/jpeg&#39;); 
    imagejpeg($dst); 
    imagedestroy($dst);
     imagedestroy($src);
     ?>
  • Ausgehend vom Startpunkt (x, y) des Quellbildes, der angegebenen Breite und Höhe des Bildes. Platzieren Sie es am Startpunkt (x, y) des Zielbilds und geben Sie die Breite und Höhe des Bilds an.

    Bild zoomen
  • Bild zoomen Zuerst bereiten wir ein Bild mit dem Namen dog.png vor:

  • Unser Code muss die folgenden Schritte ausführen Vervollständigen Sie die Skalierung von Grafiken:

  • Öffnen Sie das Quellbild


Stellen Sie den Bildskalierungsprozentsatz (Zoom) ein

Wie schließe ich die Bildskalierung und das Zuschneiden in PHP ab? (ausführliche Beispiele)Holen Sie sich das Quellbild und passen Sie die Größe entsprechend dem Verhältnis anWie schließe ich die Bildskalierung und das Zuschneiden in PHP ab? (ausführliche Beispiele)


Erstellen Sie ein neu angegeben Die Bildgröße ist das Zielbild

Fügen Sie die angepasste Größe des Quellbildes in das Ziel einWie schließe ich die Bildskalierung und das Zuschneiden in PHP ab? (ausführliche Beispiele)

Zerstören Sie die Ressource

Das Beispiel lautet wie folgt:🎜🎜rrreee🎜Ausgabeergebnis: 🎜🎜Wie schließe ich die Bildskalierung und das Zuschneiden in PHP ab? (ausführliche Beispiele)🎜🎜Von Um die obigen Ergebnisse zu erzielen, wird die Bildskalierung durch die Funktion imagecopyresampledh vervollständigt. 🎜🎜🎜Bild zuschneiden🎜🎜🎜Um das Bild zuzuschneiden, müssen Sie den imagecopyresized verwenden Funktion, um dies zu erreichen. Als nächstes erklären wir es anhand eines Beispiels: 🎜🎜Ich habe zwei Bilder mit den Namen dog.png und logo.png🎜🎜🎜🎜🎜Jetzt möchte ich einen Teil des Logobilds zuschneiden und es auf dem Hundebild platzieren das? Wolltuch? Im Folgenden sind die Hauptschritte aufgeführt: 🎜🎜🎜🎜Öffnen Sie das Quellbild und das Zielbild. 🎜🎜🎜🎜Beschneiden Sie die Punkte im Quellbild und legen Sie die Breite und Höhe fest. in das Zielbild. (Zuschneiden) 🎜🎜🎜🎜Bildeingabe speichern🎜🎜🎜🎜Ressourcen zerstören🎜🎜🎜🎜Der eigentliche Vorgang ist wie folgt: 🎜🎜🎜Im Logobild möchte ich den Textteil zuschneiden und nur den Bildteil behalten können wissen, was wir wollen. Der beibehaltene Bildteil beginnt bei (0,0) und endet bei (52,59). 🎜🎜🎜🎜🎜🎜Dann platzieren wir das zugeschnittene Bild in der oberen linken Ecke des Zielbilds. Die Koordinaten reichen von (0, 0) bis (52, 59). Nachdem wir die Ideen geklärt haben, wird der Code angezeigt lautet wie folgt: 🎜 🎜rrreee🎜Ausgabeergebnis: 🎜🎜🎜🎜🎜Aus den obigen Ergebnissen haben wir das Bildzuschneiden durch die Funktion imagecopyresizedh abgeschlossen. 🎜🎜Empfohlenes Lernen: „🎜PHP-Video-Tutorial🎜“🎜

Das obige ist der detaillierte Inhalt vonWie schließe ich die Bildskalierung und das Zuschneiden in PHP ab? (ausführliche Beispiele). 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