Position actuelle: Accueil> Derniers articles> Comment recadrer une image avec la fonction ImageSetClip () et dessiner divers graphiques dans la zone recadrée?

Comment recadrer une image avec la fonction ImageSetClip () et dessiner divers graphiques dans la zone recadrée?

M66 2025-06-28

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.

1. Quelle est la fonction ImageSetClip () ?

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.

2. Comment utiliser la fonction ImageSetClip () ?

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.

Syntaxe de base

 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 .

3. Cramez l'image à l'aide d'imagestclip ()

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&#39;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&#39;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.

4. dessiner les graphiques

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:

Tracer des lignes

 // Dessiner un(150, 150)arriver(350, 350)La ligne
imageline($image, 150, 150, 350, 350, $black);

Dessiner une ellipse

 // Dessinez une ellipse dans la zone de coupure
imageellipse($image, 250, 250, 200, 100, $black);

Dessiner des polygones

 // Dessiner un pentagone
$points = [200, 100, 300, 100, 350, 200, 250, 300, 150, 200];
imagepolygon($image, $points, 5, $black);

5. Choses à noter

  • 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.

6. Exemple: dessinez le graphique dans la zone du recadrage et enregistrez le résultat

 <?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&#39;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&#39;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.