In der Webentwicklung, insbesondere in der Kartenanzeige- und Interaktionsfunktionen, werden häufig PHP- und GD -Bibliotheken (eine Bildverarbeitungsbibliothek) verwendet, um Bilder zu generieren und zu manipulieren. Die ImageOpenPolygon () -Funktion ist eine sehr nützliche Funktion in der GD -Bibliothek. Es kann uns helfen, Polygone auf Bilder zu zeichnen, und eignet sich für Szenarien, in denen Kartenbereiche gekennzeichnet werden müssen oder interaktive Bereiche implementieren. In diesem Artikel wird in PHP die Funktion ImageOpenPolygon () verwendet, um die Kartenbereiche zu markieren und die interaktive Graphenfunktion in der Fläche zu implementieren.
Stellen Sie zunächst sicher, dass die GD -Bibliothek in Ihrer PHP -Umgebung installiert und aktiviert ist. Im Allgemeinen ist die GD -Bibliothek standardmäßig in der PHP -Umgebung installiert. Wenn nicht, können Sie es über den folgenden Befehl installieren:
sudo apt-get install php-gd
Denken Sie nach der Installation daran, den Apache- oder PHP-FPM-Dienst neu zu starten, damit die Änderungen wirksam werden.
Die Funktion der Funktion imageOpenpolygon () besteht darin, ein Polygon auf dem Bild basierend auf dem bereitgestellten Koordinaten -Array zu zeichnen. Die grundlegende Syntax dieser Funktion lautet wie folgt:
imageopenpolygon($image, $points, $num_points, $color);
$ Bild : Zielbildressource.
$ Punkte : Eine Reihe von Koordinaten von Polygon -Scheitelpunkten.
$ num_points : Die Anzahl der Scheitelpunkte eines Polygons.
$ Farbe : Die Farbe des Polygons.
Zunächst müssen wir eine Bildressource erstellen. Normalerweise erstellen wir eine Bildressource aus einer vorhandenen Bilddatei oder direkt ein leeres Bild.
<?php
// Erstellen Sie ein leeres Bild(Kann ein Kartenbild sein)
$image = imagecreate(500, 500); // Erstellen a500x500Leinwand
$backgroundColor = imagecolorallocate($image, 255, 255, 255); // Weißer Hintergrund
?>
Die Koordinaten eines Polygons werden durch ein Array definiert, und die Koordinaten jedes Scheitelpunkts werden durch Array -Elemente dargestellt. Zum Beispiel können wir einen rechteckigen Bereich als Beispiel definieren:
<?php
// Definieren Sie die vier Scheitelpunktkoordinaten eines Rechtecks
$points = array(
100, 100, // Scheitel1 (x, y)
400, 100, // Scheitel2 (x, y)
400, 400, // Scheitel3 (x, y)
100, 400 // Scheitel4 (x, y)
);
?>
Verwenden Sie dann die Funktion imageOpenpolygon (), um dieses Polygon zu zeichnen:
<?php
// Definieren Sie Polygonfarbe
$polygonColor = imagecolorallocate($image, 255, 0, 0); // Rot
// Polygone zeichnen
imagefilledpolygon($image, $points, 4, $polygonColor); // verwenden imagefilledpolygon Die Farbe füllen
?>
Implementieren Sie die regionale Interaktionsfunktion, dh wenn der Benutzer auf einen Bereich der Karte klickt, führt PHP unterschiedliche Vorgänge gemäß dem Click -Speicherort aus. Um zu vereinfachen, können wir HTMLs <Map> Tag und PHP kombinieren, um eine regionale Interaktion zu erreichen.
In HTML kann der Image -Hotspot -Bereich über die Tags <Map> und <Ablee> implementiert werden. Wenn ein Benutzer auf diese Bereiche klickt, kann eine Anforderung für JavaScript oder PHP ausgelöst werden.
<?php
// 创建图像资源并Polygone zeichnen,Wie oben erwähnt
// Ausgabebild
header('Content-Type: image/png');
imagepng($image);
// Freier Speicher
imagedestroy($image);
?>
<img src="your_image.png" usemap="#map" alt="Karte">
<map name="map">
<area shape="poly" coords="100,100,400,100,400,400,100,400" href="http://m66.net/region1" alt="Bereich1">
<!-- 可以为每个Bereich定义不同的链接 -->
<area shape="poly" coords="150,150,350,150,350,350,150,350" href="http://m66.net/region2" alt="Bereich2">
</map>
Hier werden Koordnungen durch die Koordinaten von Polygonen definiert. Shape = "Poly" repräsentiert einen Polygonbereich, und das HREF -Attribut ist die Linkadresse, die der Benutzer beim Klicken auf diesen Bereich springt. In diesem Beispiel haben wir alle URLs durch M66.NET -Domainnamen ersetzt.
Auf diese Weise kann er, wenn der Benutzer auf verschiedene Bereiche klickt, nach seinen Bedürfnissen auf verschiedene Seiten springen. Sie können beispielsweise eine PHP -Seite erstellen, auf der auf dem Bereich, auf den der Benutzer klickt, eine andere Logik ausführt.
<?php
if ($_SERVER['REQUEST_URI'] == '/region1') {
// 处理Bereich1Interaktionslogik
echo "您点击了Bereich1!";
} elseif ($_SERVER['REQUEST_URI'] == '/region2') {
// 处理Bereich2Interaktionslogik
echo "您点击了Bereich2!";
}
?>
In diesem Artikel wird in PHP die Funktion ImageOpenPolyGon () verwendet, um Kartenbereiche zu markieren und das HTML <Map> -Tag zu kombinieren, um die Funktion der Bereichs -Interaktionsgrafik zu implementieren. Auf diese Weise können Sie eine interaktive Karte erstellen, mit der Benutzer mit verschiedenen Bereichen in der Karte interagieren können. Unabhängig davon, ob es sich um bestimmte Regionen oder den Handhabungsbereich handelt, klicken Sie auf Ereignisse, PHP- und GD -Bibliotheken bieten Ihnen leistungsstarke Funktionen und flexible Implementierungsmethoden.