Position actuelle: Accueil> Derniers articles> Comment définir la couleur lors de l'utilisation de ImageOpenPolygon ()

Comment définir la couleur lors de l'utilisation de ImageOpenPolygon ()

M66 2025-05-29

Dans PHP, la fonction ImageOpenPolygon () est utilisée pour dessiner un polygone sur une image. La syntaxe de cette fonction est la suivante:

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

Analyse des paramètres:

  1. $ Image : la ressource d'image cible, généralement créée par des fonctions telles que ImageCreate () ou ImageCreateFromJPEG () .

  2. $ Points : un tableau contenant les coordonnées de chaque point d'un polygone. Chaque coordonnée se compose de deux valeurs entières (x et y).

  3. $ num_points : le nombre de sommets d'un polygone.

  4. $ Couleur : La couleur utilisée pour dessiner des polygones, généralement créée par des fonctions ImageColorAllocate () ou ImageColorAllocatealPha () .

Comment définir les paramètres de couleur?

Dans la fonction ImageOpenPolygon () , le paramètre de couleur $ détermine la couleur de remplissage du polygone. Si vous souhaitez définir la couleur, vous devez d'abord utiliser la fonction ImageColorAllocate () pour attribuer une valeur de couleur. Le format de cette fonction est:

 int imagecolorallocate(resource $image, int $red, int $green, int $blue)

Lorsque $ image est la ressource d'image cible, $ rouge , $ vert et $ bleu sont les valeurs RVB de la couleur, respectivement, allant de 0 à 255. Grâce à cette fonction, vous pouvez définir différentes couleurs.

Exemple de code:

 <?php
// Créer un 400x400 Images
$image = imagecreate(400, 400);

// Attribuer des couleurs
$bg_color = imagecolorallocate($image, 255, 255, 255); // Fond blanc
$polygon_color = imagecolorallocate($image, 0, 0, 255); // Polygone bleu

// Définissez les sommets du polygone
$points = array(
    100, 100,  // indiquer 1 (x1, y1)
    300, 100,  // indiquer 2 (x2, y2)
    350, 250,  // indiquer 3 (x3, y3)
    250, 350,  // indiquer 4 (x4, y4)
    150, 250   // indiquer 5 (x5, y5)
);

// Dessiner des polygones sur les images
imageopenpolygon($image, $points, count($points) / 2, $polygon_color);

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

// Détruiser les ressources d&#39;image
imagedestroy($image);
?>

Analyse de code:

  1. Créer des ressources d'image : créer une image de 400x400 pixels via ImageCreate () .

  2. Attribuez des couleurs : utilisez ImageColorAllocate () pour attribuer des couleurs à l'arrière-plan et au polygone respectivement. L'arrière-plan est blanc (RVB: 255, 255, 255), et le polygone est bleu (RVB: 0, 0, 255).

  3. Dessiner le polygone : à travers la fonction ImageOpenPolygon () , un polygone est dessiné à l'aide du tableau de vertex set $ Points et Color $ polygon_color .

Notes:

  • La fonction ImageOpenPolygon () ne ferme pas automatiquement les ressources d'image, de sorte que la fonction ImageDestRoy () doit être utilisée pour détruire l'image et libérer la mémoire.

  • Pour utiliser l'effet de transparence, vous pouvez utiliser ImageColorAllocatealpha () pour créer des couleurs avec la transparence.

Avec la méthode ci-dessus, vous pouvez facilement dessiner des polygones avec différentes couleurs sur l'image.