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.
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 valeursde $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);
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);
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);
$src_img = imagecreatefromjpeg('test.jpg'); imagestring($src_img, 5, 10, 10, 'Watermark', 0xFFFFFFFF); imagejpeg($src_img, 'test_watermarked.jpg', 90); imagedestroy($src_img);
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!