Position actuelle: Accueil> Derniers articles> Comment dessiner des polygones sur une image à l'aide d'imageOpenPolygon ()

Comment dessiner des polygones sur une image à l'aide d'imageOpenPolygon ()

M66 2025-05-17

En PHP, le traitement d'image est l'un des besoins les plus courants. Avec l'aide de la bibliothèque GD, les développeurs peuvent effectuer de nombreuses opérations sur des images, telles que le dessin graphique, le texte, le redimensionnement, le recadrage, etc. La fonction ImageOpenPolygon () est un outil très utile qui vous permet de dessiner des formes de polygone sur les images, ce qui est très important pour certains conceptions graphiques complexes ou scénarios d'application d'annotation d'image.

Aperçu de la fonction ImageOpenPolygon ()

La fonction ImageOpenPolygon () est une fonction de la bibliothèque GD qui peut être utilisée pour dessiner un polygone sur une image. Vous devez passer un tableau contenant plusieurs coordonnées de sommet, et le polygone peut être rempli en réglant la couleur. La fonction ImageOpenPolygon () est un outil de dessin d'image très puissant, adapté à une utilisation dans des scénarios tels que l'annotation d'image et le dessin graphique.

Prototype de fonction:

 bool imageopenpolygon(resource $image, array $points, int $num_points, int $color)

Description du paramètre:

  • $ Image : Image Resource, généralement créé par des fonctions telles que ImageCreate () ou ImageCreateFromJPEG () .

  • $ Points : un tableau contenant plusieurs coordonnées de sommet. Chaque sommet est un tableau contenant des valeurs x et y.

  • $ num_points : le nombre de sommets de polygone, c'est-à-dire le nombre d'éléments dans le tableau $ des points .

  • $ couleur : remplit la couleur du polygone. Vous pouvez attribuer des couleurs via la fonction ImageColorAllocate () .

Valeur de retour:

Retour True si le dessin réussit; Renvoie false s'il échoue.

Étapes pour dessiner des polygones avec ImageOpenPolygon ()

1. Créer une ressource d'image

Tout d'abord, nous devons créer une ressource d'image. Vous pouvez utiliser ImageCreate () pour créer une image vierge, ou utiliser ImageCreateFromJPEG () , ImageCreateFrommpng () et d'autres fonctions pour charger des images à partir de fichiers d'image existants.

 <?php
// Créer un large 500px,haut 500px Images
$image = imagecreate(500, 500);

// Définir la couleur d&#39;arrière-plan(Blanc)
$backgroundColor = imagecolorallocate($image, 255, 255, 255);
?>

2. Définissez les sommets d'un polygone

Ensuite, nous devons définir les coordonnées du sommet du polygone. Ces coordonnées seront utilisées pour tracer les limites du polygone.

 <?php
// Définir un triangle simple,Coordonnées de trois sommets
$points = [
    [100, 100], // Le premier sommet (100, 100)
    [200, 100], // Le deuxième sommet (200, 100)
    [150, 200]  // Le troisième sommet (150, 200)
];
?>

3. Attribuez des couleurs de dessin

Ensuite, définissez la couleur du polygone de dessin. Vous pouvez sélectionner n'importe quelle couleur et simplement le convertir au format RVB.

 <?php
// Définition du rouge
$red = imagecolorallocate($image, 255, 0, 0);
?>

4. dessiner des polygones

Utilisez la fonction ImageOpenPolygon () pour dessiner un polygone. Passez des ressources d'image, des réseaux de sommets, des dénombrements de sommets et des couleurs.

 <?php
// Dessiner des polygones
imageopenpolygon($image, $points, count($points), $red);
?>

5. Sortir l'image et l'enregistrer

Enfin, nous pouvons sortir l'image ou l'enregistrer en tant que fichier.

 <?php
// Image de sortie au navigateur
header('Content-Type: image/png');
imagepng($image);

// Libérez des ressources d&#39;image
imagedestroy($image);
?>

6. Résultats

Après avoir exécuté le code ci-dessus, le navigateur affichera une image de 500x500 pixels contenant un triangle rouge. Vous pouvez ajuster les sommets et les couleurs du polygone selon les besoins.

Application pratique: étiquetage du polygone

Une application commune de la fonction ImageOpenPolygon () consiste à étiqueter les images. Par exemple, vous pouvez l'utiliser pour étiqueter une zone et mettre en évidence des pièces graphiques importantes. Supposons que nous devons dessiner une zone de polygone sur une image pour mettre en évidence une pièce, voici les étapes de mise en œuvre spécifiques:

1. Chargez une image existante

 <?php
// Chargez une image d&#39;arrière-plan
$image = imagecreatefromjpeg('https://m66.net/example.jpg');

// Vérifiez si l&#39;image est chargée avec succès
if (!$image) {
    die('Impossible de charger l&#39;image');
}
?>

2. Définissez les sommets du polygone et dessinez-les

 <?php
// Définissez le sommet d&#39;une zone rectangulaire
$points = [
    [50, 50],
    [450, 50],
    [450, 450],
    [50, 450]
];

// Couleur verte
$green = imagecolorallocate($image, 0, 255, 0);

// Dessiner un rectangle
imageopenpolygon($image, $points, count($points), $green);

// Image de sortie
header('Content-Type: image/jpeg');
imagejpeg($image);

// Libérez des ressources d&#39;image
imagedestroy($image);
?>

Grâce à ces étapes, vous pouvez dessiner des polygones sur n'importe quelle image et effectuer un traitement d'image supplémentaire en fonction de vos besoins, tels que la sauvegarde des images, l'ajustement de la transparence des graphiques, etc.

Résumer

Dans PHP, la fonction ImageOpenPolygon () est un outil très utile, particulièrement adapté au dessin des polygones dans le traitement d'image et le dessin graphique. Il peut dessiner différentes formes en transmettant plusieurs coordonnées de sommet et peut remplir les polygones de couleurs, améliorant considérablement l'expressivité et la fonctionnalité de l'image. J'espère que cet article peut vous aider à comprendre comment utiliser la fonction ImageOpenPolygon () et donner le jeu complet à son rôle dans les applications pratiques.