Heim > Artikel > Backend-Entwicklung > (Fortgeschrittene) PHP-Bildverarbeitungstechnologie-GD-Bibliothek
1. GD-Erweiterung aktivieren
extension=php_gd2.dll
Apache-Neustart
2. Beispiel:
Szenario:
Erstellen Sie ein 500×300 großes grünes Bild
①Erstellen Sie eine Leinwand
Leinwand, eine Art Ressourcendaten. Bildressourcen, die manipuliert werden können.
Erstellen Sie eine neue Leinwand (neu)
ImageCreate(width, height), erstellen Sie eine Leinwand basierend auf der Palette.
imageCreateTrueColor(width, height); Erstellt eine Echtfarben-Leinwand.
Leinwand basierend auf Bild erstellen (geöffnet)
imageCreateFromJPEG(Bildadresse);
imageCreateFromPNG(Bildadresse);
imageCreateFromGIF(Bildadresse);
②Operations-Leinwand
Farbe zuweisen: Wenn Sie eine Farbe auf der Leinwand verwenden müssen, sollten Sie die Farbe zuerst der Leinwand zuweisen.
Funktion verwenden:
Farbidentifikation = imageColorAllocate(canvas, R, G, B);
Farbdarstellung:
RGB
③Leinwand füllen: Füllen (ersetzen) Sie die Füllpunkte durch aufeinanderfolgende Punkte mit derselben Farbe
Verwenden Sie die Funktion:
imageFill(canvas, Filling Position X, Filling Position Y, Color Logo) Die vollständige
Position wird mithilfe von Koordinaten verwaltet:
Ursprung: 0, 0, die obere linke Ecke der Leinwand.
Nach rechts nimmt die x-Achse zu und nach unten nimmt die Y-Achse zu.
Koordinaten der unteren rechten Ecke: Breite-1, Höhe-1
④Leinwand ausgeben
Die in der Leinwand verarbeiteten Musterinformationen ausgeben.
Typisch:
1 Ausgabe in Bilddatei.
2 wird direkt ausgegeben.
Funktion verwenden:
imagePNG(canvas[, Dateiadresse]):
imageJPEG();
imageGIF();
Wenn kein zweiter Parameter vorhanden ist, bedeutet dies eine direkte Ausgabe.
Hinweis: Wenn Sie es direkt an den Browser ausgeben, müssen Sie dem Browser mitteilen, dass der Typ der Antwortdaten ein Bild im PNG-Format sein soll:
Verwenden Sie den Befehl Content-type
a Die Leinwand kann mehrfach in verschiedenen Formaten ausgegeben werden
⑤ Leinwandressourcen zerstören
imageDestroy()
Beispielcode:
<?php //例如:制作500×300的绿色图片 $width=500; $height=300; //创建真彩色的画布 $img=imageCreateTrueColor($width,$height); // var_dump($img); //测试结果: resource(2) of type (gd) $img是一个资源类型 //使用函数imageColorAllocate(画布,R,G,B)分配颜色,颜色的表示方式:R G B $green=imageColorAllocate($img, 0x0, 0xff, 0x0); //填充画布,原点:0,0,画布的左上角,imageFill(画布, 填充位置x, 填充位置Y,颜色标识)完成 imageFill($img,0,0,$green); //输出画布,直接输出到当前路径下为图片文件,格式有PNG、JPEG、GIF //imagePNG($img,'./green.png'); //如果没有第二个参数,表示直接输出 //如果直接输出到浏览器,需要告知浏览器,响应数据的类型应该是PNG格式的图片:使用指令Content-type header('Content-Type:image/png;'); imagePNG($img); //注:一个画布可以输出多次,输出为各种格式 //销毁画布资源 imageDestroy($img);
Beispielcode:
<?php //例如:制作500×300的绿色图片 $width=500; $height=300; //创建真彩色的画布 $img=imageCreateTrueColor($width,$height); // var_dump($img); //测试结果: resource(2) of type (gd) $img是一个资源类型 //使用函数imageColorAllocate(画布,R,G,B)分配颜色,颜色的表示方式:R G B $green=imageColorAllocate($img, 0x0, 0xff, 0x0); //填充画布,原点:0,0,画布的左上角,imageFill(画布, 填充位置x, 填充位置Y,颜色标识)完成 imageFill($img,0,0,$green); //输出画布,直接输出到当前路径下为图片文件,格式有PNG、JPEG、GIF //imagePNG($img,'./green.png'); //如果没有第二个参数,表示直接输出 //如果直接输出到浏览器,需要告知浏览器,响应数据的类型应该是PNG格式的图片:使用指令Content-type header('Content-Type:image/png;'); imagePNG($img); //注:一个画布可以输出多次,输出为各种格式 //销毁画布资源 imageDestroy($img);
Das Obige ist der Inhalt der (erweiterten) PHP-Bildverarbeitungstechnologie-GD-Bibliothek. Für weitere verwandte Inhalte folgen Sie bitte der chinesischen PHP-Website (www.php.cn)!