Position actuelle: Accueil> Derniers articles> Dessinez des marques de points de coordonnées pour aider à déboguer les graphiques polygonaux

Dessinez des marques de points de coordonnées pour aider à déboguer les graphiques polygonaux

M66 2025-05-29

Lors du traitement des images à l'aide de PHP, la fonction ImageOpenPolygon est un outil très utile qui peut être utilisé pour dessiner des polygones. Cependant, lors du débogage des graphiques polygonaux complexes, les lignes de dessin simplement peuvent ne pas être suffisamment claires. À l'heure actuelle, le marquage des nombres de points de coordonnées à côté de chaque sommet peut considérablement améliorer l'efficacité de la visualisation et du débogage.

Ci-dessous, nous introduirons étape par étape comment dessiner des polygones à point de point à l'aide de PHP.

1. Préparation

Tout d'abord, vous devez vous assurer que votre environnement PHP a permis une prise en charge de la bibliothèque GD. Vous pouvez confirmer par:

 <?php
if (function_exists('gd_info')) {
    echo "GDLa bibliothèque est activée";
} else {
    echo "GDBibliothèque non activée";
}
?>

Si vous n'êtes pas activé, Open Extension = GD dans php.ini .

2. Créez une toile et dessinez un polygone

Voici un exemple complet de code qui dessine des polygones et étiquette le numéro de séquence à côté de chaque point:

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

// Définir la couleur
$white = imagecolorallocate($image, 255, 255, 255);
$black = imagecolorallocate($image, 0, 0, 0);
$red   = imagecolorallocate($image, 255, 0, 0);

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

// Définissez le point d&#39;un polygone(Même nombre,Tous les deux nombres sont un groupex, y)
$points = [
    100, 100,
    200, 80,
    300, 150,
    250, 300,
    150, 250
];

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

// Notez le numéro de point à côté de chaque point
for ($i = 0; $i < count($points); $i += 2) {
    $x = $points[$i];
    $y = $points[$i + 1];
    $label = 'P' . ($i / 2);
    
    // Marquer le texte
    imagestring($image, 3, $x + 5, $y + 5, $label, $red);
    
    // De petits points peuvent être dessinés pour représenter les coordonnées
    imagefilledellipse($image, $x, $y, 6, 6, $red);
}

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

// Enregistrer dans le fichier
// imagepng($image, '/path/to/save/mypolygon.png');

// Détruire les ressources
imagedestroy($image);
?>

3. Analyse des résultats

Ce code sera:

  • Créer une toile d'arrière-plan blanche de 500 × 500

  • Dessinez un polygone non clos à l'aide d'imageOpenPolygon

  • Dessinez un petit point rouge à chaque sommet

  • Marquez les numéros de points à côté des petits points rouges avec du rouge, comme P0, P1, P2, etc.

Si vous voulez que l'image soit enregistrée directement au lieu de la sortie, vous pouvez décommenter l' imagepng de ligne ($ image, '/path/to/save/mypolygon.png'); et modifier le chemin de sauvegarde au besoin.

Par exemple, vous pouvez modifier le chemin vers:

 imagepng($image, 'https://m66.net/uploads/mypolygon.png');

(Remarque: en fait, l'imagepng ne peut être enregistrée que sur le chemin local du serveur. Si vous souhaitez y accéder via une URL, le fichier doit être placé dans le répertoire du serveur correspondant.)

4. Scénarios d'application pratiques

Cette technique est idéale pour:

  • Développer et déboguer la division de la zone de polygone

  • Marquez les zones polygonales du système de carte

  • Comparaison des positions de différents sommets lors de la visualisation des données

  • Algorithme graphique Démonstration d'enseignement

En ajoutant des nombres à chaque point du polygone, l'ordre d'arrangement et la relation logique de chaque point peuvent être vus intuitivement, améliorant considérablement l'efficacité du développement et du débogage.

résumé

En combinant ImageOpenPolygon , Imagestring et ImageFilleLipse , nous pouvons facilement dessiner des figures de polygone avec des nombres de coordonnées en PHP. Cela améliore non seulement la lisibilité des graphiques, mais facilite également le traitement logique et le dépannage des erreurs ultérieurs.