Aktueller Standort: Startseite> Neueste Artikel> Kombinieren Sie ImageRearc- und Imagecrreatetruecolor -Funktionen, wie Sie ein Bild mit einem ARC -Effekt erzeugen können?

Kombinieren Sie ImageRearc- und Imagecrreatetruecolor -Funktionen, wie Sie ein Bild mit einem ARC -Effekt erzeugen können?

gitbox 2025-09-02

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.

1. Funktion Einführung

ImageCrreatetruecolor

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.

Imagarc

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.

2. Erstellen Sie ein Bild mit ARC -Effekt

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">&lt;?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">?&gt;</span></span><span>
</span></span>

Code Parsen:

  1. 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.

  2. Definieren Sie Farbe: Verwenden Sie die ImageColorallocal -Funktion, um die Farbe des Bogens (rot) und die Farbe des Hintergrunds (weiß) zu definieren.

  3. 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.

  4. Ausgabebild: Verwenden Sie schließlich ImagePng , um das generierte Bild auszugeben und die Bildressource über Imagedestroy freizulassen.

3. Custom ARC -Effekt

Sie können verschiedene Parameter des Bogens entsprechend Ihren Anforderungen anpassen, z.

Beispiel 1: Zeichnen Sie einen vollständigen Bogen

 <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.

Beispiel 2: Passen Sie den Grad der Biegung des Bogens an

 <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.

4. Zusammenfassung

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.