Aktueller Standort: Startseite> Neueste Artikel> Wie verwendete ich die ImageOpenpolygon () -Funktion von PHP, um den gezogenen Polygonfiguren Schatteneffekte hinzuzufügen?

Wie verwendete ich die ImageOpenpolygon () -Funktion von PHP, um den gezogenen Polygonfiguren Schatteneffekte hinzuzufügen?

M66 2025-06-23

Bei der Bildverarbeitung ist das Hinzufügen von Schatteneffekten zu polygonalen Grafiken eine übliche Voraussetzung. PHP bietet eine leistungsstarke Bibliothek von Grafikverarbeitungsfunktionen, in der die Funktion imageOpenpolygon () zum Zeichnen von Polygonen verwendet wird. Mit einigen einfachen Tricks können wir diesen polygonalen Figuren Schatteneffekte hinzufügen, um die dreidimensionale Figur zu erhöhen.

Was ist die ImageOpenPolygon () -Funktion?

In PHP wird die Funktion imageOpenpolygon () verwendet, um ein Polygon zu erstellen. Mit dieser Funktion können Sie die Eckpunkte eines Polygons definieren und auf eine Bildressource zeichnen. Die grundlegende Syntax ist wie folgt:

 imageopenpolygon($image, $points, $num_points, $color);
  • $ Bild : Bildressource.

  • $ Punkte : Ein Array, das alle Scheitelpunktkoordinaten eines Polygons enthält.

  • $ num_points : Die Anzahl der Scheitelpunkte des Polygons.

  • $ Farbe : Die Farbe des Polygons.

Mit dieser Funktion können Polygone verschiedener Formen gezogen werden, und um diesen Polygonen einen Schatteneffekt zu verleihen, benötigen wir eine zusätzliche Verarbeitung.

Schritte zum Hinzufügen von Schatteneffekten

  1. Erstellen einer Bildressource : Erstens müssen wir eine Bildressource erstellen.

  2. Zeichnen Sie Polygone : Verwenden Sie ImageOpenpolygon (), um Polygone zu zeichnen.

  3. Schatten zeichnen : macht den Schatten leicht versetzt und füllt ihn mit einer dunklen Farbe, damit er wie ein Spiegelbild der hellen Quelle aussieht.

  4. Schichten zusammenführen : Schatten und polygonale Grafiken für visuelle Effekte verschmelzen.

Hier ist ein Code -Beispiel, der diesen Prozess implementiert:

 <?php
// Bildressourcen erstellen
$image = imagecreatetruecolor(400, 400);

// Farben zuweisen
$white = imagecolorallocate($image, 255, 255, 255);
$black = imagecolorallocate($image, 0, 0, 0);
$shadowColor = imagecolorallocate($image, 100, 100, 100); // Schattenfarbe

// Hintergrundfarbe füllen
imagefill($image, 0, 0, $white);

// Definieren Sie Polygonscheitelpunkte
$points = [
    100, 100, // Scheitel1
    200, 50,  // Scheitel2
    300, 150, // Scheitel3
    250, 250, // Scheitel4
    150, 200  // Scheitel5
];

// Schatten zeichnen(Durch eine geringe Entfernung versetzt)
$shadowOffsetX = 10;
$shadowOffsetY = 10;
$shadowPoints = [];
foreach ($points as $key => $value) {
    if ($key % 2 == 0) {
        $shadowPoints[] = $value + $shadowOffsetX; // x Offset koordinieren
    } else {
        $shadowPoints[] = $value + $shadowOffsetY; // y Offset koordinieren
    }
}

// Schatten zeichnen
imageopenpolygon($image, $shadowPoints, count($shadowPoints) / 2, $shadowColor);

// Polygone zeichnen
imageopenpolygon($image, $points, count($points) / 2, $black);

// Ausgabe Bild zum Browser
header("Content-Type: image/png");
imagepng($image);

// Zerstöre Bildressourcen
imagedestroy($image);
?>

Code analysieren

  1. Erstellen Sie eine Bildressource : Wir haben eine 400x400 -Bildressource mit ImagecrreatTueColor () und zugewiesenen Farben (weiße, schwarze und Schattenfarben) erstellt.

  2. Definieren von Polygonscheitelpunkten : Wir definieren ein Fünf-Punkte-Polygon mit Scheitelpunktkoordinaten, die im $ Points- Array gespeichert sind.

  3. Zeichnen des Schattens : Indem wir jede Scheitelpunktkoordinate des Polygons leicht ausgleichen, erhalten wir die Scheitelpunktkoordinaten des Schattens. Der Shadow -Offset wird von $ ShadowOffsetX und $ ShadowOffsety gesteuert.

  4. Zeichnen Sie Polygone : Zeichnen Sie Schatten und Polygone getrennt durch die ImageOpenpolygon () -Funktion, und die Schatten verschieben sich leicht, damit sie stereoskopisch aussehen.

  5. Ausgabebild : Schließlich geben wir das generierte Bild über die Funktion imagePng () aus.