-
Créer un élément de toile. Cet élément servira à dessiner les contours des zones lors de leur survol.
-
Positionnez l'élément canevas devant la carte-image.
-
Obtenez le contexte de l'appareil du canevas. Ce contexte servira à dessiner les contours.
-
Ajouter des auditeurs d'événements aux zones. Ces écouteurs d'événements appelleront des fonctions pour dessiner les contours lorsque les zones sont survolées.
-
Dans les fonctions d'écoute d'événements, utilisez l'attribut coords de la zone pour obtenir les coordonnées de la forme.
-
Utilisez la méthode getContext() du canevas pour obtenir le dessin du canevas contexte.
-
Utilisez la méthode beginPath() du contexte de dessin pour démarrer un nouveau chemin.
-
Utilisez la méthode moveTo() du contexte de dessin pour déplacer le point actuel vers la première coordonnée de la forme.
-
Utilisez la méthode lineTo() du contexte de dessin pour tracer une ligne vers chacune des autres coordonnées de la forme.
-
Utilisez la méthode closePath() du contexte de dessin pour fermer le chemin.
-
Utilisez la méthode Stroke() du contexte de dessin pour tracer le chemin, ce qui dessinera le contour de la forme.
Voici un exemple de la façon d'implémenter cette solution en JavaScript :
// Canvas element
var canvas = document.getElementById('myCanvas');
// Drawing context
var hdc = canvas.getContext('2d');
// Event listeners
for (var i = 0; i < areas.length; i++) {
areas[i].addEventListener('mouseover', function() {
var coords = this.getAttribute('coords');
hdc.beginPath();
hdc.moveTo(coords[0], coords[1]);
for (var j = 2; j < coords.length; j += 2) {
hdc.lineTo(coords[j], coords[j+1]);
}
hdc.lineTo(coords[0], coords[1]);
hdc.stroke();
});
areas[i].addEventListener('mouseout', function() {
hdc.clearRect(0, 0, canvas.width, canvas.height);
});
}
Copier après la connexion
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!