Maison  >  Article  >  développement back-end  >  Effets spéciaux d'image en PHP et leurs méthodes d'implémentation

Effets spéciaux d'image en PHP et leurs méthodes d'implémentation

WBOY
WBOYoriginal
2023-06-22 12:56:43812parcourir

Dans le développement de sites Web, les effets spéciaux d'image peuvent augmenter la beauté de la page, attirer l'attention des utilisateurs et offrir aux utilisateurs une meilleure expérience. En tant que langage back-end puissant, PHP fournit également de nombreuses méthodes pour obtenir des effets spéciaux sur les images. Cet article présentera les effets d'image couramment utilisés en PHP et leurs méthodes d'implémentation.

  1. Redimensionner l'image

La mise à l'échelle de l'image est l'une des méthodes courantes pour obtenir une conception réactive du site Web. La fonction imagecopyresampled() est fournie en PHP pour compléter l'opération de mise à l'échelle des images. Le prototype de cette fonction est le suivant :

bool imagecopyresampled ( ressource $dst_image , ressource $src_image , int $dst_x , int $dst_y , int $src_x , int $src_y , int $dst_w , int $ dst_h , int $src_w , int $src_h )

Parmi eux, $dst_image est la ressource d'image cible, $src_image est la ressource d'image source, $dst_x et $dst_y sont les positions dans le coin supérieur gauche du image cible, $src_x et $scr_y sont la position du coin supérieur gauche de l'image source, $dst_w et $dst_h sont la largeur et la hauteur de l'image cible, $src_w et $src_h sont la largeur et la hauteur de l'image source.

En ajustant les valeurs​​de $dst_w et $dst_h, vous pouvez obtenir une mise à l'échelle de l'image. Par exemple, pour réduire une image à 50% de sa taille, le code est le suivant :

$src_img = imagecreatefromjpeg('test.jpg');
$dst_img = imagecreatetruecolor(imagesx($src_img) / 2, imagesy($src_img) / 2);
imagecopyresampled($dst_img, $src_img, 0, 0, 0, 0, imagesx($dst_img), imagesy($dst_img), imagesx($src_img), imagesy($src_img));
imagejpeg($dst_img, 'test_resized.jpg', 90);
imagedestroy($src_img);
imagedestroy($dst_img);
  1. Recadrer l'image

Recadrer une image signifie conserver l'image. L'opération consistant à supprimer une certaine partie tout en supprimant le reste. En PHP, vous pouvez utiliser la fonction imagecrop() pour terminer l'opération de recadrage de l'image. Le prototype de cette fonction est le suivant :

resource imagecrop ( resource $image , array $rect )

Parmi eux, $image est la ressource image à recadrer, et $rect représente la zone de recadrage Le tableau contient quatre éléments, à savoir la coordonnée x du coin supérieur gauche, la coordonnée y du coin supérieur gauche, la largeur de la zone de recadrage et la hauteur de la zone de recadrage.

Par exemple, pour recadrer une image en carré et utiliser le centre de l'image comme base de recadrage, le code est le suivant :

$src_img = imagecreatefromjpeg('test.jpg');
$src_w = imagesx($src_img);
$src_h = imagesy($src_img);
$dst_img = imagecrop($src_img, [
    $src_w > $src_h ? ($src_w - $src_h) / 2 : 0,
    $src_w > $src_h ? 0 : ($src_h - $src_w) / 2,
    min($src_w, $src_h),
    min($src_w, $src_h)
]);
imagejpeg($dst_img, 'test_cropped.jpg', 90);
imagedestroy($src_img);
imagedestroy($dst_img);
  1. Rotation de l'image

La rotation de l'image peut changer la direction et l'angle de l'image pour répondre à différents besoins. En PHP, vous pouvez utiliser la fonction imagerotate() pour effectuer la rotation de l'image. Le prototype de cette fonction est le suivant :

resource imagerotate ( resource $image , float $angle , int $bgd_color [, int $ignore_transparent = 0 ] )

where $ image est la ressource image à faire pivoter, $angle est l'angle de rotation, $bgd_color est la couleur d'arrière-plan, $ignore_transparent indique s'il faut ignorer les couleurs transparentes.

Par exemple, pour faire pivoter une image de 90 degrés dans le sens inverse des aiguilles d'une montre, le code est le suivant :

$src_img = imagecreatefromjpeg('test.jpg');
$dst_img = imagerotate($src_img, 90, 0);
imagejpeg($dst_img, 'test_rotated.jpg', 90);
imagedestroy($src_img);
imagedestroy($dst_img);
  1. Image Watermark
#🎜 🎜 #Le filigrane d'image fait référence à l'ajout de texte ou d'images à l'image pour indiquer que vous possédez les informations de droit d'auteur de l'image, etc. En PHP, vous pouvez utiliser la fonction imagestring() ou la fonction imagecopy() pour ajouter un filigrane. Parmi eux, la fonction imagestring() peut être utilisée pour ajouter des filigranes de texte. L'utilisation spécifique est la suivante :

bool imagestring ( resource $image , int $font , int $x , int $y , string $string , int $color )

Parmi eux, $image est la ressource image à ajouter avec un filigrane, $font est la police, $x et $y sont les positions du texte dans le image, $string est la chaîne à afficher, $color est la couleur du texte.

Par exemple, pour ajouter un filigrane de texte dans le coin supérieur gauche d'une image, le code est le suivant :

$src_img = imagecreatefromjpeg('test.jpg');
imagestring($src_img, 5, 10, 10, 'Watermark', 0xFFFFFFFF);
imagejpeg($src_img, 'test_watermarked.jpg', 90);
imagedestroy($src_img);

Ci-dessus sont quelques méthodes d'implémentation d'effets spéciaux d'image en PHP. Grâce à ces méthodes, vous pouvez ajouter plus d'effets visuels à la page Web, rendre la page Web plus vivante et intéressante et mieux répondre aux besoins des utilisateurs.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn