Heim  >  Artikel  >  Backend-Entwicklung  >  Wie verwende ich die GD-Erweiterung von PHP?

Wie verwende ich die GD-Erweiterung von PHP?

WBOY
WBOYOriginal
2023-06-01 09:04:511290Durchsuche

Bei der Webentwicklung sind häufig gängige Vorgänge wie das Erstellen von Miniaturansichten und Wasserzeichen erforderlich. Es ist sehr praktisch, PHP zum Ausführen dieser Vorgänge zu verwenden. Die GD-Erweiterung von PHP ist eine gute Wahl, sie bietet einige praktische Methoden zur Bildverarbeitung.

  1. GD-Erweiterung installieren

Wenn Ihr PHP die GD-Erweiterung nicht installiert hat, müssen Sie die Erweiterung zuerst installieren. Unter Linux können Sie den Kommentar mit dem Shell-Befehl sudo apt-get install php7.0-gd进行安装,Windows下可以在PHP配置文件php.ini中将extension=gd2 entfernen.

  1. Erstellen Sie ein einfaches Bild.

Jetzt erstellen wir ein einfaches PNG-Bild. Mit der Funktion imagecreate() von PHP kann ein Basisbild erstellt und Breite und Höhe angegeben werden.

$width = 200;
$height = 200; 
$image = imagecreate($width, $height);

Hier erstellen wir ein 200×200 PNG-Bild. Der Einfachheit halber speichern wir es lokal:

header("Content-type: image/png"); 
imagepng($image, "test.png");

Nachdem dieses Bild generiert wurde, kann es in test.png gespeichert werden hoch. Mit diesem Schritt können Basisbilder für viele Anforderungen erstellt werden.

  1. Text festlegen

Wir müssen oft Text auf Bilder schreiben. Die GD-Erweiterung stellt die Funktion imagestring() bereit, um diesen Vorgang abzuschließen: # 🎜🎜#

$bgColor = imagecolorallocate($image, 255, 255, 255);
$textColor = imagecolorallocate($image, 0, 0, 0);
$fontFile = 'arial.ttf';
$fontSize = 20;
$text = 'Hello World!';
$x = 50;
$y = 150;

imagettftext($image, $fontSize, 0, $x, $y, $textColor, $fontFile, $text);

Hier legen wir die Hintergrundfarbe, die Textfarbe, die Schriftartdatei, die Schriftgröße, den Textinhalt und die Position fest und verwenden die Funktion imagettftext(), um den Text auf dem Bild darzustellen. Um die Funktion imagettftext() verwenden zu können, müssen Sie sicherstellen, dass die FreeType-Bibliothek korrekt auf dem Server installiert wurde.

    Bild drehen
Zusätzlich zum Schreiben von Text auf das Bild müssen wir das Bild von Zeit zu Zeit auch drehen. Die GD-Erweiterung bietet auch imagecopyrotate() Die Funktion schließt diesen Vorgang ab:

$degrees = -45; 
$newImage = imagerotate($image, $degrees, 0);
imagepng($newImage, 'rotated.png');

In diesem Beispiel wird das Originalbild um 45 Grad gedreht und schließlich wird eine neue PNG-Datei „rotated.png“ generiert. Neben der Rotation gibt es viele andere Bildverarbeitungsvorgänge, die mit GD-Erweiterungen durchgeführt werden können.

    Wasserzeichen hinzufügen
Zuletzt fügen wir dem Bild ein Wasserzeichen hinzu. Dies kann mit der Funktion imagecopy() erfolgen. Wir können zuerst das Wasserzeichen reduzieren und die Deckkraft einstellen:

$watermark = imagecreatefrompng('watermark.png');
$watermarkWidth = imagesx($watermark);
$watermarkHeight = imagesy($watermark);
$newWidth = $width / 2;
$newHeight = $height / 2;
$newWatermark = imagecreatetruecolor($newWidth, $newHeight);
imagecopyresampled($newWatermark, $watermark, 0, 0, 0, 0, $newWidth, $newHeight, $watermarkWidth, $watermarkHeight); 
imagecopymerge($image, $newWatermark, 0, 0, 0, 0, $newWidth, $newHeight, 50);

Hier erstellen wir ein Wasserzeichenbild und reduzieren seine Größe um die Hälfte, fügen es dann über imagecopymerge() zum Originalbild hinzu und stellen die Deckkraft auf ein 50 %.

Auf diese Weise haben wir einige grundlegende Verwendungsmöglichkeiten der GD-Erweiterung gelernt. Natürlich verfügt die GD-Erweiterung über viele weitere Funktionen. Wenn Sie sie benötigen, können Sie sich die offizielle Dokumentation ansehen, um weitere Informationen zur Verwendung zu erhalten.

Das obige ist der detaillierte Inhalt vonWie verwende ich die GD-Erweiterung von 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