Im Bereich der Bildverarbeitung sind die Zeichnungsfähigkeiten transparenter Bilder sehr wichtig, insbesondere wenn Sie komplexe polygonale Grafik -Overlay -Effekte implementieren müssen. Als beliebte serverseitige Programmiersprache bietet PHP einige integrierte Bildverarbeitungsfunktionen. ImageOpenpolygon () ist eine der Funktionen, mit denen Polygone gezeichnet werden können. In diesem Artikel wird vorgestellt, wie die Funktion imageOpenpolygon () verwendet wird und wie ein transparenter Hintergrund kombiniert wird, um den transparenten Overlay -Effekt von Polygonen zu erzielen.
In PHP wird die ImageOpenPolygon () -Funktion hauptsächlich zum Zeichnen eines geschlossenen Polygons verwendet. Es dauert eine Reihe von Punkten und verbindet sie mit geraden Linien, um ein Polygon zu bilden. Standardmäßig sind von PHP gezogene Polygone jedoch nicht transparent. Um Transparenz zu erreichen, müssen wir Bildformate verwenden, die Transparenz (z. B. PNG) unterstützen und eine zusätzliche Konfiguration durchführen.
Zunächst müssen wir ein Bild erstellen, das Transparenz unterstützt. In PHP können Sie eine echte Farb -Leinwand über die Funktion imageCrreatTueColor () erstellen und einen transparenten Hintergrund festlegen. Der Code ist wie folgt:
<?php
// Erstellen a 500x500 Transparentes Hintergrundbild
$image = imagecreatetruecolor(500, 500);
// Schalten Sie die transparente Unterstützung ein
imagesavealpha($image, true);
$transparent = imagecolorallocatealpha($image, 0, 0, 0, 127); // 127 Vollständig transparent sein
imagefill($image, 0, 0, $transparent);
// Ausgabebild
header('Content-Type: image/png');
imagepng($image);
imagedestroy($image);
?>
Im obigen Code erstellt ImagecreatTueColor () eine 500 x 500 Pixel -Leinwand, ermöglicht BilderSavealpha () transparente Kanäle für das Bild und setzt transparente Farben durch ImageColorallocatealpha () .
Verwenden Sie als Nächstes die Funktion imageOpenpolygon (), um ein Polygon auf das erstellte Bild zu zeichnen. Zunächst müssen Sie die Scheitelpunktkoordinaten des Polygons definieren und mit der entsprechenden Farbe füllen. Um transparentes Overlay zu erreichen, setzen wir eine durchscheinende Farbe.
<?php
// Definieren Sie die Scheitelpunktkoordinaten eines Polygons
$points = [
250, 100, // Scheitel1
350, 200, // Scheitel2
300, 300, // Scheitel3
200, 300, // Scheitel4
150, 200 // Scheitel5
];
// Erstellen Sie transparente Farben
$polygonColor = imagecolorallocatealpha($image, 255, 0, 0, 64); // Durchscheinend rot
// Polygone zeichnen
imagefilledpolygon($image, $points, 5, $polygonColor);
// Ausgabebild
imagepng($image);
imagedestroy($image);
?>
Im obigen Code wird imageFilledPolygon () ein solides Polygon gezeichnet, während imageColorallocatealpha () ein durchscheinendes Rot mit einem Transparenzwert von 64 erzeugt, wodurch der transparente Überlagerungseffekt der Abbildung erreicht wird.
Angenommen, Sie haben ein Hintergrundbild und möchten transparente Polygone darauf zeichnen. Wir können ImagecreateFrommpng () oder eine andere Bild -Lesefunktion verwenden, um das Hintergrundbild zu laden und dann zu zeichnen. Hier ist ein Beispiel für das Laden des Hintergrundbildes und das Zeichnen transparenter Polygone:
<?php
// Hintergrundbild laden
$background = imagecreatefrompng('background.png');
// Bildgröße erhalten
$width = imagesx($background);
$height = imagesy($background);
// Erstellen a透明画布并合并到背景图
$image = imagecreatetruecolor($width, $height);
imagesavealpha($image, true);
$transparent = imagecolorallocatealpha($image, 0, 0, 0, 127);
imagefill($image, 0, 0, $transparent);
// Überschreiten Sie das Hintergrundbild auf neues Bild zusammen
imagecopy($image, $background, 0, 0, 0, 0, $width, $height);
// 定义多边形Scheitel坐标
$points = [
100, 100,
200, 100,
200, 200,
100, 200
];
// 使用半透明的颜色Polygone zeichnen
$polygonColor = imagecolorallocatealpha($image, 0, 255, 0, 64); // Durchscheinend grün
imagefilledpolygon($image, $points, 4, $polygonColor);
// Das endgültige Bild ausgeben
header('Content-Type: image/png');
imagepng($image);
imagedestroy($image);
imagedestroy($background);
?>
In diesem Code laden wir zuerst ein PNG -Hintergrundbild, erstellen ein neues transparentes Bild und kopieren dann das Hintergrundbild in das neue Bild. Als nächstes wird ein transparentes grünes Polygon gezeichnet, das auf dem Hintergrundbild überlagert wird.
Mit ImageOpenpolygon () und imageFilldPolygon () können wir leicht Polygonfiguren zeichnen. Durch die Verwendung der Transparenzeinstellungen rational und kombiniert die transparente Bildtechnologie in PHP, können mehrere Overlay -Effekte erzeugt werden. Diese Tipps bieten Webentwicklern viel Flexibilität und kreativen Platz beim Erstellen von Grafiken, Animationen und sogar Benutzeroberflächen. Ich hoffe, dieser Artikel kann Ihnen helfen, die Techniken der transparenten Bildzeichnung zu beherrschen und Ihre Bildverarbeitung lebendiger und interessanter zu machen.
In diesem Prozess haben wir den URL-bezogenen Bilddateipfad verwendet. Wenn wir jedoch den Domänennamenteil im Pfad durch m66.net ersetzen müssen, ist das folgende Beispiel für das geänderte Code-Beispiel: