Maison >développement back-end >Problème PHP >PHP peut-il faire pivoter les images ?

PHP peut-il faire pivoter les images ?

藏色散人
藏色散人original
2020-09-03 09:30:062804parcourir

PHP peut faire pivoter les images. La méthode d'implémentation est la suivante : créez d'abord une ressource image ; puis utilisez la fonction "imagerotate()" pour faire pivoter selon l'angle spécifié ; filename);" instruction Enregistrez simplement l’image pivotée.

PHP peut-il faire pivoter les images ?

Recommandé : "Tutoriel vidéo PHP"

PHP peut faire pivoter les images. La méthode d'implémentation est la suivante :

La rotation et le retournement de l'image par traitement d'image PHP sont implémentés à l'aide de la fonction imagerotate. Plusieurs fonctions sont personnalisées pour implémenter la fonction. . Exigences.

La rotation de l'image consiste à tourner l'image selon un angle spécifique, et le retournement de l'image consiste à échanger le contenu de l'image dans une direction spécifique.

Le retournement d'images nécessite d'écrire votre propre fonction pour y parvenir, tandis que la rotation des images peut être réalisée directement avec la fonction imagerotate() fournie dans la bibliothèque GD. Le prototype de la fonction

imagerotate() est le suivant :

resource  imagerotate(resource src_im ,    floatangle,    int bgd_color    [,intignore_transpatrent])

Cette fonction peut faire pivoter l'image src_im selon un angle donné, et bgd_color spécifie la couleur de la partie qui n'est pas recouverte après la rotation. Le centre de rotation est le centre de l'image et l'image pivotée est réduite pour s'adapter à l'image cible (les bords ne sont pas tronqués). Si ignore_transpatrent est défini sur une valeur non nulle, les couleurs transparentes sont ignorées (sinon elles sont conservées). En prenant une image au format JPEG comme exemple, déclarez une fonction rotate() qui peut faire pivoter l'image. Le code est le suivant :

<?php
    //用给定角度旋转图像,以jpeg图像格式为例
    function rotate($filename,$degrees){
        //创建图像资源,以jpeg格式为例
        $source =imagecreatefromjpeg($filename);
        //使用imagerotate()函数按指定的角度旋转
        $rotate = imagerotate($source,$degrees, 0);
        //旋转后的图片保存
        $imagejpeg($rotate,$filename);
    }
 
    //把一幅图像brophp.jpg旋转180度
    rotate("brophp", 180);
?>

Le retournement d'image ne peut définir que le retournement horizontal le long de l'axe Y ou le retournement vertical le long de l'axe Y. l'axe X. Si elle est retournée le long de l'axe Y, l'image originale est copiée de droite à gauche (ou de droite à droite) d'une largeur de pixel, et copiée cycliquement vers la nouvelle ressource avec la hauteur de l'image elle-même. La nouvelle ressource est enregistrée. est l'image inversée le long de l'axe Y. En prenant comme exemple une image au format JPEG, le code pour déclarer une fonction d'image turn_y() qui peut être retournée le long de l'axe Y est le suivant :

Le code est le suivant :

<?php
    function trun_y($filename){
        $back =imagecreatefromjpeg($filename);
 
        $width = imagesx($back);
        $height = imagesy($back);
 
        //创建一个新的图片资源,用来保存沿Y轴翻转后的图片
        $new =imagecreatetruecolor($width, $height);
        //沿y轴翻转就是将原图从右向左按一个像素宽度向新资源中逐个复制
        for($x=0 ;$x<$width; $x++){
            //逐条复制图片本身高度,1个像素宽度的图片到新资源中
            imagecopy($new,$back, $width-$x-1, 0, $x, 0, 1, $height);
        }
 
        //保存翻转后的图片
        imagejpeg($new,$filename);
        imagedestroy($back);
        imagedestroy($new);
    }
 
    trun_y("brophp.jpg")
?>

La fonction turn_y() déclarée dans cet exemple un seul paramètre est requis, qui est l'URL de l'image à traiter. Cet exemple appelle la fonction turn_y() pour retourner l'image le long de l'axe Y. S'il est retourné le long de 🎜>imagecopy (copier une partie de l'image)

Description : bool imagecopy ( ressource $dst_im , ressource $src_im , int $dst_x , int $dst_y , int$src_x , int $src_y , int $src_w , int $ src_h )

Copiez une partie de l'image src_im dont les coordonnées commencent à src_x, src_y, avec une largeur de src_w et une hauteur de src_h aux positions des coordonnées de dst_x et dst_y dans l'image dst_im.

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