Dans PHP, la fonction ImagesetClip () est un outil de traitement d'image très utile. Il permet aux développeurs de configurer une zone de culture et de fonctionner uniquement sur les graphiques dans cette zone. En utilisant cette fonction raisonnablement, nous sommes en mesure de dessiner divers graphiques (tels que des rectangles, des lignes, etc.) sur l'image, et ces graphiques ne seront affichés que dans la zone recadrée. Cet article expliquera en détail comment utiliser la fonction ImagesetClip () pour recadrer des images et dessiner divers graphiques dans la zone recadrée.
La fonction ImageSetClip () est utilisée pour définir la zone de recadrage de l'image. Une zone de culture est une zone rectangulaire, et seul le contenu situé dans cette zone sera affiché ou opéré. Il est généralement utilisé en conjonction avec des fonctions de dessin d'image pour aider les développeurs à contrôler la portée du dessin de graphe.
Pour utiliser la fonction ImageSetClip () , nous devons d'abord créer une ressource d'image. Ensuite, utilisez la fonction ImageClip () pour définir la zone de découpage, et enfin divers dessins graphiques peuvent être effectués dans la zone de découpage.
bool imagesetclip(resource $image);
$ Image : Image Resource, une image créée via des fonctions telles que ImageCreate () .
Valeur de retour: renvoie true si réussi, sinon renvoyez false .
L'exemple de code suivant montre comment recadrer une image à l'aide d' imagesSetClip () :
<?php
// Créer une image vierge
$image = imagecreatetruecolor(500, 500);
// Sélectionnez une couleur
$white = imagecolorallocate($image, 255, 255, 255);
$black = imagecolorallocate($image, 0, 0, 0);
// Fond rempli de blanc
imagefill($image, 0, 0, $white);
// Réglez la zone de culture sur un rectangle,Coin supérieur gauche(100,100),Coin inférieur droit(400,400)
imageclip($image, 100, 100, 300, 300);
// utiliserimagesetclip()Pour recadrer l'image
imagesetclip($image);
// Dessinez un rectangle noir dans la zone courte
imagerectangle($image, 150, 150, 350, 350, $black);
// Image de sortie
header("Content-Type: image/png");
imagepng($image);
// Libérez des ressources d'image
imagedestroy($image);
?>
Dans cet exemple, nous créons d'abord une image de 500x500 pixels et remplissons l'arrière-plan avec blanc. Nous définissons ensuite une zone courte qui est un rectangle de (100, 100) à (400, 400). En appelant la fonction ImageSetClip () , la zone de coupure est définie. Ensuite, nous dessinons un rectangle noir dans la zone de culture et faisons le résultat.
Dans la zone de recadrage, vous pouvez dessiner divers graphiques tels que les lignes, les rectangles, les ellipses, etc. Voici quelques méthodes de dessin graphique courantes:
// Dessiner un(150, 150)arriver(350, 350)La ligne
imageline($image, 150, 150, 350, 350, $black);
// Dessinez une ellipse dans la zone de coupure
imageellipse($image, 250, 250, 200, 100, $black);
// Dessiner un pentagone
$points = [200, 100, 300, 100, 350, 200, 250, 300, 150, 200];
imagepolygon($image, $points, 5, $black);
Avant d'appeler ImagesetClip () , assurez-vous que la zone de découpage a été définie via ImageClip () ou d'autres fonctions similaires.
ImageSetClip () ne peut être utilisé que sur le contenu de la zone de recadrage, et tout contenu tiré à l'extérieur de la zone de recadrage ne sera pas affiché.
La zone courte peut être n'importe quel rectangle, et la taille et la position de la zone peuvent être contrôlées en ajustant les paramètres.
<?php
// Créer une image vierge
$image = imagecreatetruecolor(500, 500);
// Sélectionnez une couleur
$white = imagecolorallocate($image, 255, 255, 255);
$black = imagecolorallocate($image, 0, 0, 0);
// Fond rempli de blanc
imagefill($image, 0, 0, $white);
// Réglez la zone de culture sur un rectangle,Coin supérieur gauche(100,100),Coin inférieur droit(400,400)
imageclip($image, 100, 100, 300, 300);
// utiliserimagesetclip()Pour recadrer l'image
imagesetclip($image);
// Dessinez un rectangle noir dans la zone courte
imagerectangle($image, 150, 150, 350, 350, $black);
// Tracer une ligne dans la zone recadrée
imageline($image, 150, 150, 350, 350, $black);
// Dessiner une ellipse
imageellipse($image, 250, 250, 200, 100, $black);
// Image de sortie
imagepng($image, 'output_image.png');
// Libérez des ressources d'image
imagedestroy($image);
?>
Dans l'exemple ci-dessus, nous dessinons non seulement des rectangles, des lignes, mais aussi une ellipse. Enfin, nous enregistrons l'image sous le nom de Output_image.png pour voir les graphiques dans la zone recadrée.