Heim  >  Artikel  >  Backend-Entwicklung  >  Spezifische Schritte zum Erstellen von Bildern in PHP

Spezifische Schritte zum Erstellen von Bildern in PHP

藏色散人
藏色散人Original
2021-07-02 09:04:203051Durchsuche

Spezifische Schritte zum Erstellen eines Bildes in PHP: 1. Legen Sie den Header fest und teilen Sie dem Browser den zu generierenden MIME-Typ mit. 3. Führen Sie eine Farbverwaltung durch Text; 6. Das Bild ausgeben; 7. Das Bild zerstören.

Spezifische Schritte zum Erstellen von Bildern in PHP

Die Betriebsumgebung dieses Artikels: Windows 7-System, PHP-Version 7.1, DELL G3-Computer

PHP Spezifische Schritte zum Erstellen von Bildern

1. Legen Sie den Header fest und teilen Sie ihn mit Der Browser Es gibt drei Arten von MIME-Typen, die Sie generieren möchten:


header('content-type:image/png')
  • header ( 'content-type: image/gif');
  • header ( ' content -type: image/jpeg' );
  • <?php header("content-type: image/png");
  • 2. Erstellen Sie eine Leinwand. Alle nachfolgenden Vorgänge basieren auf diesem Leinwandbereich image
Rückgabe Eine Bildkennung, die ein schwarzes Bild mit Breite und Höhe darstellt.

Rückgabewert: Gibt die Bildressource nach Erfolg zurück, gibt FALSE nach Fehler zurück.

$width = 200;
$height = 100;
$img = imagecreatetruecolor($width,$height);

3. Farbmanagement**int imagecolorallocate ( Ressource $image , int $red , int $green , int $blue )**Weisen Sie einem Bild Farben zu
Rot , Grün und Blau sind jeweils die erforderlichen Farben von Rot , grüne und blaue Komponenten. Diese Parameter sind ganze Zahlen von 0 bis 255 oder hexadezimal 0x00 bis 0xFF y (die obere linke Ecke des Bildes ist 0, 0) werden mit Farbe gefüllt (d. h. Punkte mit derselben Farbe wie die x- und y-Punkte sowie benachbarte Punkte werden gefüllt).

$color = imagecolorallocate($img,0xcc,0xcc,0xcc); // 灰色

5. Zeichnen Sie Grafiken und Text


imagesetpixel()

Verwenden Sie Farbe im Bild, um einen Punkt

auf den x- und y-Koordinaten zu zeichnen (die obere linke Ecke des Bildes ist 0, 0).

bool imagesetpixel ( Ressource $image , int $x , int $y , int $color ) Beispiel: 100 Punkte zufällig auf die Leinwand zeichnen

imagefill($img,0,0,$color);

    imageline()
  1. Farbe im Bild verwenden Zeichnen ein Liniensegment von den Koordinaten x1, y1 bis x2, y2 (obere linke Ecke des Bildes ist 0, 0) . bool imageline ( Ressource $image , int $x1 , int $y1 , int $x2 , int $y2 , int $color )
    Beispiel: Zeichne zufällig 10 Liniensegmente auf der Leinwand
    for ($i= 0; $i < 100; $i++) { 
    	$color = imagecolorallocate($img,rand(0,25), rand(0,255), rand(0,255));
    	$x = rand(0,$width);
    	$y = rand(0,$height);
    	imagesetpixel($img, $x, $y, $color);
    }
    imagerectangle()
  1. Zeichnen Sie mit der Farbfarbe ein Rechteck im Bild, mit den Koordinaten seiner oberen linken Ecke als x1, y1 und den Koordinaten seiner unteren rechten Ecke als x2, y2. Die obere linke Ecke des Bildes hat die Koordinaten 0, 0. ... Zeichnen Sie ein mit Farbe gefülltes Rechteck, dessen Koordinaten der oberen linken Ecke x1, y1 und deren Koordinaten der unteren rechten Ecke x2, y2 sind. bool imagefilledrectangle ( Ressource $image , int $x1 , int $y1 , int $x2 , int $y2 , int $color )
    Text zeichnen
  2. array imagettftext ( Ressource $image , float $size , float $anglearray imagettftext ( Ressource $image , float $size, float $angle, int $x, int $y, int $color, string $fontfile, string $text)
    Größe: Je nach GD-Version ist es die Pixelgröße (GD1) oder Punkte (Punkte) Größe (GD2). Im Winkelsystem ausgedrückt bedeutet 0 Grad, dass der Text von links nach rechts gelesen wird. 90 Grad bedeutet beispielsweise, dass der Text von unten nach oben gelesen wird. Die dargestellten Koordinaten definieren den Basispunkt des ersten Zeichens (wahrscheinlich die untere linke Ecke). des Zeichens).
  1. Farbe: Farbindex Schriftartdatei: ist der Pfad zu der TrueType-Schriftart, die Sie verwenden möchten (aus dem Ordner „Fonts“ auf dem Laufwerk C meines Computers) Text: UTF-8-codierte Textzeichenfolge
    for ($i= 0; $i < 10; $i++) { 
    	$color = imagecolorallocate($img,rand(0,25), rand(0,255), rand(0,255));
    	$x = rand(0,$width);
    	$y = rand(0,$height);
    	$x1 = rand(0,$width);
    	$y1 = rand(0,$height);
    	imageline($img, $x, $y, $x1, $y1,$color);
    }
  2. 6. Bild ausgeben

Drei Möglichkeiten:

bool imagepng ( Ressource $image [, string $filename ] )
    Einen GD-Bildstream (Bild) im PNG-Format in die Standardausgabe (normalerweise einen Browser) oder in eine Datei ausgeben wenn der Dateiname angegeben ist
  1. bool imagegif ( Ressource $image [, string $ filename ] )bool imagejpeg ( resources $image [, string $filename [, int $quality ]])
$color = imagecolorallocate($img,154, 75, 65));
$font = "simsunb.ttf";
$str = "hello , how are you?";
imagettftext($img, 30, 45, $x, $y, $color, $font, $str);

7. Zerstöre das Bild

bool imagedestroy ( Ressource $image )
  1. Geben Sie das mit dem Speicher verknüpfte Bild frei
    imagedestroy($img);

      推荐学习:《PHP视频教程

Das obige ist der detaillierte Inhalt vonSpezifische Schritte zum Erstellen von Bildern in 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