Position actuelle: Accueil> Derniers articles> Dessiner les bordures des polygones en conjonction avec Imageline ()

Dessiner les bordures des polygones en conjonction avec Imageline ()

M66 2025-05-29

Lorsque vous travaillez avec des images en PHP, nous devons souvent dessiner différentes formes. Pour le dessin des polygones, ImageOpenPolygon () et ImageLine () sont deux fonctions très pratiques. Cet article expliquera en détail comment les utiliser ensemble pour dessiner des bordures de polygone et donner un exemple complet.

1. Comprendre ImageOpenPolygon () et Imageline ()

  • La fonction ImageOpenPolygon () est utilisée pour dessiner un chemin de polygone ouvert , c'est-à-dire dessiner une ligne reliant chaque sommet, mais ne ferme pas automatiquement le dernier bord.

  • ImageLine () peut tracer une ligne droite entre deux points, qui peuvent être utilisés pour fermer manuellement les polygones .

Si vous devez dessiner une bordure polygone entièrement fermée, vous devez utiliser ImageOpenPolygon () , puis utiliser ImageLine () pour connecter le point de départ et le point final.

2. Exemple de code

Voici un exemple de dessin des bordures pentagonales à l'aide de la bibliothèque PHP GD:

 <?php
// Créer une toile
$width = 400;
$height = 400;
$image = imagecreatetruecolor($width, $height);

// Attribuer des couleurs
$white = imagecolorallocate($image, 255, 255, 255);
$black = imagecolorallocate($image, 0, 0, 0);

// Remplir l&#39;arrière-plan
imagefill($image, 0, 0, $white);

// Définissez les sommets d&#39;un Pentagone
$points = [
    200, 50,   // sommet1
    350, 150,  // sommet2
    300, 300,  // sommet3
    100, 300,  // sommet4
    50, 150    // sommet5
];

// Dessiner des polygones ouverts
imageopenpolygon($image, $points, 5, $black);

// utiliser imageline Fermez manuellement le dernier bord(sommet5回到sommet1)
imageline($image, $points[8], $points[9], $points[0], $points[1], $black);

// Image de sortie
header('Content-Type: image/png');
imagepng($image);

// Libérer les ressources
imagedestroy($image);
?>

Description du code:

  • ImageOpenPolygon () dessine le segment de ligne du sommet 1 au sommet 5, mais ne connecte pas le sommet 5 à Vertex 1.

  • Imageline () anime manuellement le segment de ligne du sommet 5 à Vertex 1, fermant avec succès la bordure.

3. Choses à noter

  • Après avoir utilisé ImageOpenPolygon () , n'oubliez pas d'utiliser Imageline () pour remplir le dernier bord , sinon la figure sera ouverte.

  • Les coordonnées de sommet doivent être répertoriées dans un tableau unidimensionnel, chaque nombre étant un ensemble de coordonnées (x, y) .

  • Avant de dessiner, vous devez vous assurer que la bibliothèque GD est correctement installée. Vous pouvez vérifier les informations de l'environnement PHP en visitant https://www.m66.net/phpinfo.php .

4. Conclusion

En combinant ImageOpenPolygon () et ImageLine () , nous pouvons dessiner de manière flexible diverses figures de polygone qui nécessitent un contrôle de fermeture personnalisé. Cette méthode est particulièrement utile lors du dessin de graphiques complexes ou de génération dynamiquement des graphiques. Essayons-le rapidement!