Home  >  Article  >  Backend Development  >  Can php rotate images?

Can php rotate images?

藏色散人
藏色散人Original
2020-09-03 09:30:062775browse

php can rotate images. The implementation method is: first create an image resource; then use the "imagerotate()" function to rotate according to the specified angle; finally pass the "$imagejpeg($rotate,$filename);" statement Just save the rotated image.

Can php rotate images?

Recommended: "PHP Video Tutorial"

php can rotate images, and the implementation method is:

PHP image processing image rotation and image flipping are implemented using the imagerotate function, and multiple functions are customized to implement the function Requirement.

The rotation of the image is to turn the image at a specific angle, and the flip of the image is to swap the content of the image in a specific direction.

Image flipping requires writing your own function to achieve it, while rotating images can be accomplished directly with the help of the imagerotate() function provided in the GD library.

The prototype of the imagerotate() function is as follows:

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

This function can rotate the src_im image at a given angle, and bgd_color specifies the color of the part that is not covered after rotation. The center of rotation is the center of the image, and the rotated image is scaled down to fit the target image (edges are not clipped). If ignore_transpatrent is set to a non-zero value, transparent colors are ignored (otherwise they are retained). Taking a picture in JPEG format as an example, declare a function rotate() that can rotate the picture. The code is as follows:

<?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);
?>

Picture flipping can only set horizontal flipping along the Y axis or vertical flipping along the X axis. If it is flipped along the Y-axis, the original image is copied from right to left (or from right to right) by one pixel width, and copied to the new resource at the height of the image itself. The new resource saved is the image flipped along the Y-axis. . Taking a JPEG format image as an example, the code for declaring a picture function turn_y() that can be flipped along the Y axis is as follows:

The code is as follows:

<?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")
?>

The turn_y() function declared in this example only One parameter is required, which is the URL of the image to be processed. This example calls the turn_y() function to flip the picture along the Y axis. If flipped along the ##imagecopy (copy part of the image)

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

Copy a part of the src_im image whose coordinates start from src_x, src_y, with a width of src_w and a height of src_h to the positions of the coordinates of dst_x and dst_y in the dst_im image.

The above is the detailed content of Can php rotate images?. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn