Die Bildverarbeitung ist eine häufige Aufgabe in PHP, insbesondere wenn es erforderlich ist, dynamische Bilder zu generieren oder benutzerdefinierte Grafiken auf Webseiten anzuzeigen. Die ImageRearc- und Imagecrreatetruecolor -Funktionen sind zwei wichtige Werkzeuge bei der Bildverarbeitung. Durch diese beiden Funktionen können Entwickler Bilder mit ARC -Effekten erstellen. In diesem Artikel wird ausführlich erläutert, wie diese beiden Funktionen kombiniert werden, um ein Bild mit einem ARC -Effekt zu generieren.
Mit der Funktion der ImageCrreatTueColor wird ein echtes Farbbild erstellt und eine Ressourcenkennung zurückgegeben, die das Bild darstellt. True Farbbilder unterstützen 256 verschiedene Farbstufen (d. H. 24-Bit-Farbtiefe) für jeden Farbkanal, sodass es reichere Farbdetails ausdrücken kann.
Funktionsprototyp:
<span><span>resource </span><span><span class="hljs-title function_ invoke__">imagecreatetruecolor</span></span><span>(</span><span><span class="hljs-keyword">int</span></span><span> </span><span><span class="hljs-variable">$width</span></span><span>, </span><span><span class="hljs-keyword">int</span></span><span> </span><span><span class="hljs-variable">$height</span></span><span>)
</span></span>
Parameterbeschreibung:
$ width : Die Breite des Bildes.
$ Höhe : Die Höhe des Bildes.
Die ImageArc -Funktion wird verwendet, um einen Bogen auf einem Bild zu zeichnen. Der Bogen wird durch die angegebene Mitte, den Radius, den Startwinkel und den Endwinkel bestimmt. Diese Funktion ist sehr geeignet zum Zeichnen von Bögen oder gekrümmten Pfaden.
Funktionsprototyp:
<span><span><span class="hljs-keyword">bool</span></span><span> </span><span><span class="hljs-title function_ invoke__">imagearc</span></span><span>(resource </span><span><span class="hljs-variable">$image</span></span><span>, </span><span><span class="hljs-keyword">int</span></span><span> </span><span><span class="hljs-variable">$cx</span></span><span>, </span><span><span class="hljs-keyword">int</span></span><span> </span><span><span class="hljs-variable">$cy</span></span><span>, </span><span><span class="hljs-keyword">int</span></span><span> </span><span><span class="hljs-variable">$width</span></span><span>, </span><span><span class="hljs-keyword">int</span></span><span> </span><span><span class="hljs-variable">$height</span></span><span>, </span><span><span class="hljs-keyword">int</span></span><span> </span><span><span class="hljs-variable">$start</span></span><span>, </span><span><span class="hljs-keyword">int</span></span><span> </span><span><span class="hljs-variable">$end</span></span><span>, </span><span><span class="hljs-keyword">int</span></span><span> </span><span><span class="hljs-variable">$color</span></span><span>)
</span></span>
Parameterbeschreibung:
$ Bild : Die Bildressource zum Zeichnen des Bogens.
$ CX : Die X -Koordinate der Mitte des Kreises.
$ cy : Die y -Koordinate der Mitte des Kreises.
$ width : Die Breite des Rechtecks, in dem sich der Bogen befindet.
$ Höhe : Die Höhe des Rechtecks, in dem sich der Bogen befindet.
$ start : Der Startwinkel des Bogens (Einheit: Grad).
$ End : Der Endwinkel des Bogens (Einheit: Grad).
$ Farbe : Die Farbe des Bogens.
Hier finden Sie ein einfaches Beispiel, das zeigt, wie ein Bild mit einem ARC -Effekt unter Verwendung der Funktionen für die ImageCrreatTueColor- und ImageArc -Funktionen erzeugt wird.
<span><span><span class="hljs-meta"><?php</span></span><span>
</span><span><span class="hljs-comment">// Erstellen a 400x400 Wahres Farbbild von Pixeln</span></span><span>
</span><span><span class="hljs-variable">$image</span></span><span> = </span><span><span class="hljs-title function_ invoke__">imagecreatetruecolor</span></span><span>(</span><span><span class="hljs-number">400</span></span><span>, </span><span><span class="hljs-number">400</span></span><span>);
</span><span><span class="hljs-comment">// Stellen Sie den Bildhintergrund auf Weiß fest</span></span><span>
</span><span><span class="hljs-variable">$backgroundColor</span></span><span> = </span><span><span class="hljs-title function_ invoke__">imagecolorallocate</span></span><span>(</span><span><span class="hljs-variable">$image</span></span><span>, </span><span><span class="hljs-number">255</span></span><span>, </span><span><span class="hljs-number">255</span></span><span>, </span><span><span class="hljs-number">255</span></span><span>); </span><span><span class="hljs-comment">// RGB: Weiß</span></span><span>
</span><span><span class="hljs-title function_ invoke__">imagefill</span></span><span>(</span><span><span class="hljs-variable">$image</span></span><span>, </span><span><span class="hljs-number">0</span></span><span>, </span><span><span class="hljs-number">0</span></span><span>, </span><span><span class="hljs-variable">$backgroundColor</span></span><span>);
</span><span><span class="hljs-comment">// Stellen Sie den Bogen auf rote Farbe ein</span></span><span>
</span><span><span class="hljs-variable">$arcColor</span></span><span> = </span><span><span class="hljs-title function_ invoke__">imagecolorallocate</span></span><span>(</span><span><span class="hljs-variable">$image</span></span><span>, </span><span><span class="hljs-number">255</span></span><span>, </span><span><span class="hljs-number">0</span></span><span>, </span><span><span class="hljs-number">0</span></span><span>); </span><span><span class="hljs-comment">// RGB: Rot</span></span><span>
</span><span><span class="hljs-comment">// Bogenlinien zeichnen</span></span><span>
</span><span><span class="hljs-variable">$cx</span></span><span> = </span><span><span class="hljs-number">200</span></span><span>; </span><span><span class="hljs-comment">// Mitte des Kreises x koordinieren</span></span><span>
</span><span><span class="hljs-variable">$cy</span></span><span> = </span><span><span class="hljs-number">200</span></span><span>; </span><span><span class="hljs-comment">// Mitte des Kreises y koordinieren</span></span><span>
</span><span><span class="hljs-variable">$width</span></span><span> = </span><span><span class="hljs-number">300</span></span><span>; </span><span><span class="hljs-comment">// Die Breite des Bogens</span></span><span>
</span><span><span class="hljs-variable">$height</span></span><span> = </span><span><span class="hljs-number">300</span></span><span>; </span><span><span class="hljs-comment">// Die Höhe des Bogens</span></span><span>
</span><span><span class="hljs-variable">$start</span></span><span> = </span><span><span class="hljs-number">0</span></span><span>; </span><span><span class="hljs-comment">// Startwinkel</span></span><span>
</span><span><span class="hljs-variable">$end</span></span><span> = </span><span><span class="hljs-number">90</span></span><span>; </span><span><span class="hljs-comment">// Endwinkel</span></span><span>
</span><span><span class="hljs-title function_ invoke__">imagearc</span></span><span>(</span><span><span class="hljs-variable">$image</span></span><span>, </span><span><span class="hljs-variable">$cx</span></span><span>, </span><span><span class="hljs-variable">$cy</span></span><span>, </span><span><span class="hljs-variable">$width</span></span><span>, </span><span><span class="hljs-variable">$height</span></span><span>, </span><span><span class="hljs-variable">$start</span></span><span>, </span><span><span class="hljs-variable">$end</span></span><span>, </span><span><span class="hljs-variable">$arcColor</span></span><span>);
</span><span><span class="hljs-comment">// Ausgabe Bild zum Browser</span></span><span>
</span><span><span class="hljs-title function_ invoke__">header</span></span><span>(</span><span><span class="hljs-string">'Content-Type: image/png'</span></span><span>);
</span><span><span class="hljs-title function_ invoke__">imagepng</span></span><span>(</span><span><span class="hljs-variable">$image</span></span><span>);
</span><span><span class="hljs-comment">// Bildressourcen freigeben</span></span><span>
</span><span><span class="hljs-title function_ invoke__">imagedestroy</span></span><span>(</span><span><span class="hljs-variable">$image</span></span><span>);
</span><span><span class="hljs-meta">?></span></span><span>
</span></span>
Erstellen Sie ein Bild: Verwenden Sie die Funktion "ImagecrreatTueColor" , um ein leeres Bild von 400 x 400 Pixel zu erstellen und das Bild mit einem weißen Hintergrund zu füllen.
Definieren Sie Farbe: Verwenden Sie die ImageColorallocal -Funktion, um die Farbe des Bogens (rot) und die Farbe des Hintergrunds (weiß) zu definieren.
Zeichnen Sie Bögen: Zeichnen Sie die Bildar -Funktion, um einen roten Bogen in der Mitte des Bildes (200, 200) mit dem Startwinkel von 0 Grad und dem Endwinkel von 90 Grad zu zeichnen. Die Breite und Höhe des rechteckigen Rahmens des Bogens beträgt 300 Pixel.
Ausgabebild: Verwenden Sie schließlich ImagePng , um das generierte Bild auszugeben und die Bildressource über Imagedestroy freizulassen.
Sie können verschiedene Parameter des Bogens entsprechend Ihren Anforderungen anpassen, z.
<span><span><span class="hljs-title function_ invoke__">imagearc</span></span><span>(</span><span><span class="hljs-variable">$image</span></span><span>, </span><span><span class="hljs-variable">$cx</span></span><span>, </span><span><span class="hljs-variable">$cy</span></span><span>, </span><span><span class="hljs-variable">$width</span></span><span>, </span><span><span class="hljs-variable">$height</span></span><span>, </span><span><span class="hljs-number">0</span></span><span>, </span><span><span class="hljs-number">360</span></span><span>, </span><span><span class="hljs-variable">$arcColor</span></span><span>);
</span></span>
Dieses Beispiel zeichnet einen vollständigen Bogen mit Winkeln im Bereich von 0 bis 360 Grad.
<span><span><span class="hljs-title function_ invoke__">imagearc</span></span><span>(</span><span><span class="hljs-variable">$image</span></span><span>, </span><span><span class="hljs-variable">$cx</span></span><span>, </span><span><span class="hljs-variable">$cy</span></span><span>, </span><span><span class="hljs-variable">$width</span></span><span>, </span><span><span class="hljs-variable">$height</span></span><span>, </span><span><span class="hljs-number">30</span></span><span>, </span><span><span class="hljs-number">120</span></span><span>, </span><span><span class="hljs-variable">$arcColor</span></span><span>);
</span></span>
Dieses Beispiel zeichnet einen gekrümmten Bogen mit Winkeln im Bereich von 30 Grad bis 120 Grad.
Durch die Kombination von Imagecrreatetruecolor- und ImageRearc -Funktionen können wir leicht Bilder mit ARC -Effekten in PHP erstellen. Diese beiden Funktionen machen die Bildverarbeitung sehr flexibel und eignen sich für eine Vielzahl von Anwendungsszenarien, in denen gekrümmte Pfade oder gekrümmte Bilder erforderlich sind. Sie können die Bildgröße, die Farb- und ARC -Parameter der Bildgröße, der Farbe und den ARC -Anforderungen entsprechend Ihren Anforderungen an einen eindeutigen visuellen Effekt anpassen.