Heim  >  Artikel  >  Backend-Entwicklung  >  So legen Sie die Leinwandfarbe in PHP fest

So legen Sie die Leinwandfarbe in PHP fest

青灯夜游
青灯夜游Original
2021-07-19 20:05:562742Durchsuche

So legen Sie die Leinwandfarbe fest: 1. Verwenden Sie die Anweisung „imagecolorallocate(image,red,green,blue)“ 2. Verwenden Sie die Anweisung „imagecolorallocatealpha(image,red,green,blue,alpha)“.

So legen Sie die Leinwandfarbe in PHP fest

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

Methode 1: imagecolorallocate()-Funktion

imagecolorallocate()-Funktion kann einer Bildressource eine Farbe zuweisen. Wenn Sie im Bild mehrere Farben festlegen müssen, rufen Sie diese Funktion einfach mehrmals auf. Das Syntaxformat der Funktion lautet wie folgt:

imagecolorallocate(resource $image, int $red, int $green, int $blue):

Darunter ist $image die festzulegende Bildressource, und die Funktion imagecolorallocate() gibt einen Bezeichner zurück, der die aus den angegebenen RGB-Komponenten $red zusammengesetzte Farbe darstellt. $green und $blue sind die roten, grünen und blauen Komponenten der erforderlichen Farbe. Der Wertebereich ist eine Ganzzahl von 0 bis 255 oder ein Hexadezimalwert von 0x00 bis 0xFF.

Tipps: Wenn die Bildressource mit der Funktion imagecreate() erstellt wird, wird sie beim ersten Aufruf der Funktion imagecolorallocate() standardmäßig mit der Hintergrundfarbe gefüllt.

【Beispiel】Verwenden Sie die Funktion imagecolorallocate(), um die Farbe für das Bild festzulegen.

<?php
    $image = imagecreate(100, 100);
    $blue = imagecolorallocate($image, 0, 0, 255);
    $red = imagecolorallocate($image, 255, 0, 0);
    $green = imagecolorallocate($image, 0, 255, 0);
    header(&#39;Content-type:image/jpeg&#39;);
    imagejpeg($image);
    imagedestroy($image);
?>

Die laufenden Ergebnisse sind in der folgenden Abbildung dargestellt:

So legen Sie die Leinwandfarbe in PHP fest

Methode 2: Verwenden Sie die Funktion imagecolorallocatealpha()

Die Funktion imagecolorallocatealpha() hat die gleiche Funktion wie imagecolorallocate(), verfügt jedoch über einen zusätzlichen Parameter Alpha Um die Transparenz festzulegen, lautet das Syntaxformat der Funktion wie folgt:

imagecolorallocatealpha(resource $image, int $red, int $green, int $blue, int $alpha)

Darunter ist $image die Bildressource zum Festlegen der Farbe; $red, $green und $blue sind die roten, grünen und blauen Komponenten von Die erforderliche Farbe beträgt jeweils 0 bis 255 oder hexadezimal 0x00 bis 0xFF. Mit $alpha wird die Transparenz der Farbe festgelegt. Der Wertebereich liegt zwischen 0 und 127. 0 bedeutet vollständig undurchsichtig und 127 bedeutet völlig transparent.

【Beispiel】Verwenden Sie die Funktion imagecolorallocatealpha(), um die Farbe für das Bild festzulegen.

<?php
    $size=300;
    $image=imagecreatetruecolor($size,$size);
    //用白色背景加黑色边框画个方框
    $back=imagecolorallocate($image,255,255,255);
    $border=imagecolorallocate($image,0,0,0);
    imagefilledrectangle($image,0,0,$size-1,$size-1,$back);
    imagerectangle($image,0,0,$size-1,$size-1,$border);
    $yellow_x=100;
    $yellow_y=75;
    $red_x=120;
    $red_y=165;
    $blue_x=187;
    $blue_y=125;
    $radius=150;
    //用alpha值分配一些颜色
    $yellow=imagecolorallocatealpha($image,255,255,0,75);
    $red=imagecolorallocatealpha($image,255,0,0,75);
    $blue=imagecolorallocatealpha($image,0,0,255,75);
    //画3个交迭的圆
    imagefilledellipse($image,$yellow_x,$yellow_y,$radius,$radius,$yellow);
    imagefilledellipse($image,$red_x,$red_y,$radius,$radius,$red);
    imagefilledellipse($image,$blue_x,$blue_y,$radius,$radius,$blue);
    //不要忘记输出正确的header!
    header(&#39;Content-type:image/png&#39;);
    //最后输出结果
    imagepng($image);
    imagedestroy($image);
?>

Die laufenden Ergebnisse sind in der folgenden Abbildung dargestellt:

So legen Sie die Leinwandfarbe in PHP fest

Empfohlenes Lernen: „PHP-Video-Tutorial

Das obige ist der detaillierte Inhalt vonSo legen Sie die Leinwandfarbe in PHP fest. 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