In der Webentwicklung ist die Abteilung für Bild -Hotspot -Bereiche eine häufige Voraussetzung, insbesondere in interaktiven Bildern, Karten oder Spielen. Die Benutzerinteraktion mit Bildern muss verschiedene Bereiche in klickbare Hotspots unterteilt. PHP bietet viele Bildverarbeitungsfunktionen, und die Funktion imageOpenpolygon () kann uns helfen, diese Funktion zu implementieren.
Die ImageOpenPolygon () -Funktion von PHP ist keine Standard -GD -Bibliotheksfunktion, daher wird sie normalerweise nicht in der Dokumentation von PHP im Detail gefunden. Viele PHP -Entwickler können jedoch Erweiterungen oder benutzerdefinierte Implementierungen verwenden, um die Polygone der Grafiken zu füllen und die Hotspot -Bereiche zu teilen.
Um die Hotspot -Bereiche eines Polygons zu teilen, müssen wir normalerweise einen bestimmten Bereich bestimmen, indem wir die Scheitelpunktkoordinaten des Polygons festlegen. Diese Funktion kann angewendet werden, um verschiedene Ereignisse oder Sprünge auszulösen, wenn der Benutzer auf einen bestimmten Bereich klicken muss.
Bilder laden <br> Verwenden Sie Funktionen wie ImagecreateFromjpeg () oder ImagecreateFrommpng (), um das Zielbild zu laden.
$image = imagecreatefromjpeg('image.jpg');
Definieren Sie die Scheitelpunktkoordinaten eines Polygons <br> Wir müssen ein Polygon für den Hotspot -Bereich definieren. Die Scheitelpunktkoordinaten des Polygons können durch ein Array dargestellt werden. Beispielsweise können die Scheitelpunktkoordinaten eines Viereckers sein:
$points = [
50, 50, // Punkt1
150, 50, // Punkt2
150, 150,// Punkt3
50, 150 // Punkt4
];
Zeichnen Sie Polygon Hot Spots <br> Verwenden Sie die ImageFilledPolygon () -Funktion, um das Polygon in das Bild zu zeichnen und eine bestimmte Farbe festzulegen. ImageFilledPolygon () zeichnet Polygone mit Füllfarben auf dem Bild.
$color = imagecolorallocate($image, 255, 0, 0); // Rot
imagefilledpolygon($image, $points, count($points) / 2, $color);
Holen Sie sich Hot Spots und interagieren Sie <br> Nach dem Erstellen des Bildes können wir die Bildkarte (Imagemap) verwenden, um die Interaktion dieser Hotspot -Bereiche festzulegen. Durch die Zuordnung von polygonalen Bereichen in die entsprechende URL springt der Benutzer beim Klicken auf einen bestimmten Bereich zur entsprechenden Seite.
Wenn es sich um ein interaktives Bild handelt, erfordert es normalerweise die Kombination von JavaScript und HTML, und PHP ist nur für die Verarbeitung und Erzeugung der Bildteile verantwortlich. Zum Beispiel:
<img src="image.php" usemap="#hotspot" />
<map name="hotspot">
<area shape="poly" coords="50,50,150,50,150,150,50,150" href="http://m66.net/target-page1" />
</map>
<?php
// Erstellen Sie ein Bild
$image = imagecreatefromjpeg('image.jpg');
// 定义多边形的顶Punkt
$points = [
50, 50, // Punkt1
150, 50, // Punkt2
150, 150,// Punkt3
50, 150 // Punkt4
];
// Farbe setzen
$color = imagecolorallocate($image, 255, 0, 0); // Rot
// Polygone zeichnen
imagefilledpolygon($image, $points, count($points) / 2, $color);
// Ausgabe Bild
header('Content-Type: image/jpeg');
imagejpeg($image);
// Zerstöre Bildressourcen
imagedestroy($image);
?>
Der obige Code generiert ein Bild, das den Hotspot -Bereich enthält und es im JPEG -Format ausgibt. Wenn Sie diese Hotspots in einer Webseite verwenden möchten, können Sie HTML Image Mapping ( <Map> Tags) für interaktive Operationen verwenden.
Polygon -Vertex -Koordinaten : Stellen Sie sicher, dass die Koordinaten, die Sie übergeben, korrekt sind und die Bildgröße entsprechen. Andernfalls kann der Hotspot -Bereich nicht korrekt angezeigt werden.
Bildformat : Verschiedene Bildformate (JPEG, PNG usw.) können entsprechend verwendet werden, und Funktionen wie ImagecreateFrommpng () oder ImageJpeg () usw. können entsprechend angepasst werden.
Interaktion : Wenn komplexere Interaktionen erforderlich sind, z. B. dynamische Verarbeitung von Hotspots basierend auf Klickpositionen, wird empfohlen, Front-End-Technologien (wie JavaScript) zu kombinieren, um die Benutzererfahrung zu verbessern.
PHP bietet eine Vielzahl von Bildverarbeitungsfunktionen, mit denen Entwickler Hotspots in Bildern flexibel verarbeiten können. In Zusammenarbeit mit der imageFustenpolygon () -Funktion () können Entwickler verschiedene Bereiche des Bildes genau teilen, um ein detaillierteres interaktives Design zu erreichen. Für Szenen, in denen Bilder dynamisch generiert werden müssen, und auf Benutzerklicks reagieren müssen, können PHP in Verbindung mit HTML und JavaScript problemlos umfangreiche Bildinteraktionsfunktionen erzielen.