Lorsque vous travaillez avec des images en PHP, ImageOpenPolygon () et ImageColorAllocate () sont deux fonctions très utiles qui sont souvent utilisées pour dessiner des polygones pour les images et définir des couleurs de remplissage. Cet article expliquera en détail comment utiliser ces deux fonctions pour créer un polygone et y ajouter de la couleur.
La fonction ImageOpenPolygon () est utilisée pour dessiner un polygone sur une image. Un polygone se compose d'un ensemble de coordonnées sur lesquelles PHP dessine des formes correspondantes dans l'image basée.
Prototype de fonction:
bool imageopenpolygon(resource $image, array $points, int $num_points)
$ Image : Ressource d'image, généralement une image créée par ImageCreateTrueColor () ou des fonctions similaires.
$ Points : un tableau contenant les coordonnées de chaque sommet d'un polygone, le tableau est sous la forme de [x1, y1, x2, y2, ..., xn, yn] .
$ num_points : le nombre de sommets du polygone.
Cette fonction dessine un polygone composé d'une coordonnée donnée, mais l'intérieur du polygone est creux à ce moment.
La fonction ImageColorAllocate () est utilisée pour attribuer une couleur à une image et renvoie un identifiant pour cette couleur. Avec cet identifiant, nous pouvons spécifier une couleur pour le remplissage ou la limite du polygone.
Prototype de fonction:
int imagecolorallocate(resource $image, int $red, int $green, int $blue)
$ Image : Ressource d'image.
$ rouge : le composant rouge de la couleur (0-255).
$ vert : la composante verte de la couleur (0-255).
$ bleu : le composant bleu de la couleur (0-255).
Cette fonction renvoie un identifiant d'une couleur qui est utilisée pour dessiner ou remplir les couleurs dans une image.
Pour définir la couleur de remplissage pour un polygone, nous devons combiner les fonctions ImageOpenPolygon () et ImageFill () . La fonction ImageFill () permet de remplir la couleur des points spécifiés.
Tout d'abord, nous utilisons ImageOpenPolygon () pour dessiner le polygone. Ensuite, utilisez ImageColorAllocate () pour affecter un identifiant de couleur et remplissez la couleur à l'intérieur du polygone via ImageFill () .
Exemple de code:
<?php
// Créer une ressource d'image vierge
$image = imagecreatetruecolor(400, 400);
// Attribuer des couleurs
$white = imagecolorallocate($image, 255, 255, 255); // Couleur de fond
$blue = imagecolorallocate($image, 0, 0, 255); // Couleur de remplissage du polygone
// 设置Couleur de fond
imagefill($image, 0, 0, $white);
// Définissez les sommets d'un polygone
$points = array(
100, 100,
200, 50,
300, 100,
300, 200,
200, 250,
100, 200
);
// utiliser imageopenpolygon Dessiner des polygones
imageopenpolygon($image, $points, count($points) / 2);
// 为Couleur de remplissage du polygone
imagefilledpolygon($image, $points, count($points) / 2, $blue);
// Image de sortie au navigateur
header("Content-Type: image/png");
imagepng($image);
// Nettoyez la mémoire
imagedestroy($image);
?>
Analyse de code:
Créé une ressource d'image 400x400.
Utilisez ImageColorAllocate () pour attribuer des couleurs à la couleur d'arrière-plan et à la couleur de remplissage du polygone.
Définit un tableau $ Points contenant des sommets polygones.
Un polygone creux est dessiné à l'aide de la fonction ImageOpenPolygon () .
Utilisez la fonction ImageFildPolygon () pour remplir le polygone de couleur bleue.
Utilisez ImagePng () pour sortir l'image générée.
Avec l'exemple de code ci-dessus, vous pouvez apprendre à dessiner un polygone à l'aide d'imageOpenPolygon () et de définir la couleur de remplissage pour lui via ImageColorAllocate () . Les sommets et les couleurs du polygone peuvent être ajustés au besoin pour répondre aux besoins spécifiques.
J'espère que cet article vous aidera à comprendre comment utiliser les fonctions de traitement d'image PHP pour dessiner des polygones et définir des couleurs!