Position actuelle: Accueil> Derniers articles> Comment recadrer une image à l'aide d'imageGipClip

Comment recadrer une image à l'aide d'imageGipClip

gitbox 2025-05-28

Le traitement des images en PHP est une compétence très pratique, en particulier lors du développement de fonctions telles que le recadrage d'avatar utilisateur, les vignettes d'image, l'extraction de la zone d'image, etc., le recadrage d'image est indispensable. Bien que la fonction ImageGetClip () soit utilisée relativement peu, elle peut être utilisée en conjonction avec d'autres fonctions de la bibliothèque GD pour réaliser le recadrage de la zone de dessin de l'image.

Quelle est la fonction ImageGetClip?

Tout d'abord, nous devons clarifier que ImageGetClip () n'effectue pas directement un recadrage d'image, mais est utilisé pour obtenir la zone de clip (zone de clip) de la ressource d'image actuelle . En conjonction avec ImageSetClip () , il peut contrôler les limites de dessin pendant le fonctionnement de l'image. Ceci est utile pour limiter la zone de dessin lors du dessin d'images.

Processus typique de l'utilisation de l'imagetClip

Ce qui suit est un exemple complet de son utilisation, de la définition d'une zone de recadrage via ImageSetClip () , puis d'appeler ImageGipClip () pour afficher les paramètres de la zone actuelle.

 <?php
// Créer une ressource d&#39;image
$image = imagecreatetruecolor(300, 200);

// Définir le fond sur blanc
$white = imagecolorallocate($image, 255, 255, 255);
imagefill($image, 0, 0, $white);

// Définir la zone des cultures(Seulement autorisé au milieu100x100Dessin de la zone)
imagesetclip($image, 100, 50, 100, 100);

// Obtenez la zone courte actuelle
$clip = imagegetclip($image);

// Informations sur la zone de culture de sortie
print_r($clip);

// Essayez de dessiner un rectangle rouge sur l&#39;image(Certains seront coupés)
$red = imagecolorallocate($image, 255, 0, 0);
imagefilledrectangle($image, 50, 50, 250, 150, $red);

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

Dans cet exemple, nous avons d'abord réglé la zone de culture sur une zone à partir de (100, 50) et une largeur et une hauteur de 100x100, puis dessiner un rectangle rouge. En raison de la limitation de la zone de culture, seules les parties du rectangle qui se situent dans la zone des cultures seront réellement dessinées.

Choses à noter

  • ImageGetClip () ne peut être utilisé que dans PHP 7.2 ou version ultérieure . Cette fonction peut ne pas être disponible dans un environnement avec des versions inférieures de PHP ou dans lesquelles les bibliothèques GD ne sont pas compilées correctement.

  • Cette fonction renvoie un tableau, généralement au format [x, y, largeur, hauteur] .

  • Il ne modifiera pas le contenu de l'image, il n'obtiendra que les informations de recadrage du paramètre actuel.

Exemples de scénarios d'application

Dans certains scénarios d'édition d'images, vous devrez peut-être contrôler uniquement les utilisateurs de dessiner, d'écrire ou d'ajouter des filigranes dans une certaine zone. Couplé à ImagesetClip () et ImageGetClip () , il peut limiter efficacement la plage de fonctionnement de l'utilisateur et éviter de modifier accidentellement d'autres parties de l'image.

Si vous effectuez une fonction de recadrage arrière de téléchargement frontal, comme la recadrer dans un carré après avoir téléchargé l'avatar, vous pouvez d'abord utiliser getImageSize () ou imagesx () pour obtenir la taille de l'image, définir une zone de recadrage centrée, puis enregistrer la nouvelle image. Cet exemple ne s'appuie pas directement sur ImageGetClip () , mais vous pouvez l'utiliser pour confirmer si la zone de coupure est définie correctement pendant le débogage.

Conclusion

Bien que ImageGetClip () ne change pas le contenu de l'image, il est très pratique pour contrôler la zone de dessin. En tant que débutant, tant que vous maîtrisez le rôle de cette fonction et que vous comprenez comment l'utiliser avec ImageSetClip () , vous avez maîtrisé une technique avancée dans le traitement d'image.

Si vous créez un projet PHP avec une fonction de traitement d'image, vous pourriez aussi bien essayer cette astuce, vous pouvez également comprendre clairement le paramètre limite du dessin d'image pendant le débogage. Si vous souhaitez en savoir plus sur les opérations de traitement d'image, telles que la culture, la mise à l'échelle, la rotation, etc., vous pouvez également vous référer au guide pratique à https://gitbox.net/php-gd-guide .