Home  >  Article  >  Backend Development  >  Examples of image rotation and image flipping in PHP image processing, _PHP tutorial

Examples of image rotation and image flipping in PHP image processing, _PHP tutorial

WBOY
WBOYOriginal
2016-07-13 10:13:40993browse

Examples of image rotation and image flipping in PHP image processing,

Picture rotation and flipping are also common functions in web projects, but they are two different concepts. Picture rotation is to rotate the picture according to a specific angle, while picture flipping is to change the content of the picture according to a specific angle. reverse the direction. Image flipping requires writing your own function to implement it, while rotating images can be accomplished directly with the imagerotate() function provided in the GD library. The prototype of this function looks like this:

Copy code The code is as follows:

resource imagerotate(resource src_im, float angle, int bgd_color [,int ignore_transpatrent])

This function can rotate the src_im image with a given angle. 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:

Copy code The code is as follows:

//Rotate the image with a given angle, taking the jpeg image format as an example
Function rotate($filename,$degrees){
​​​​//Create image resources, taking jpeg format as an example
          $source = imagecreatefromjpeg($filename);
​​​​ //Use the imagerotate() function to rotate according to the specified angle
         $rotate = imagerotate($source, $degrees, 0);
​​​​ //Save the rotated image
         $imagejpeg($rotate,$filename);
}

//Rotate an image brophp.jpg 180 degrees
Rotate("brophp", 180);
?>

You cannot specify the angle for image flipping. You can only set two directions: flip horizontally along the Y-axis or flip vertically 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, declare an image function turn_y() that can be flipped along the Y axis. The code is as follows:

Copy code The code is as follows:

Function trun_y($filename){
         $back = imagecreatefromjpeg($filename);

          $width = imagesx($back);
         $height = imagesy($back);

​​​​//Create a new image resource to save the image flipped along the Y axis
          $new = imagecreatetruecolor($width, $height);
//Flip along the y-axis is to copy the original image one pixel from right to left to the new resource one by one
for($x=0 ;$x<$width; $x++){
                      //Copy the height of the picture one by one, and add the 1 pixel width of the picture to the salary resource
Imagecopy($new, $back, $width-$x-1, 0, $x, 0, 1, $height);
        }

            //Save the flipped picture
Imagejpeg($new,$filename);
Imagedestroy($back);
Imagedestroy($new);
}

trun_y("brophp.jpg")
?>

The turn_y() function declared in this example requires only one parameter, which is the image URL to be processed. This example calls the turn_y() function to flip the picture along the Y axis. If it is flipped along the X-axis, the original image is rotated from top to bottom (or bottom to top). The code is as follows:

Copy code The code is as follows:

Function trun_x($filename){
         $back = imagecreatefromjpeg($filename);

          $width = imagesx($back);
         $height = imagesy($back);

​​​​//Create a new image resource to save the image flipped along the Y axis
          $new = imagecreatetruecolor($width, $height);
//Flip along the y-axis is to copy the original image one pixel from right to left to the new resource one by one
for($y=0 ;$y<$height; $y++){
                      //Copy the height of the picture one by one, and add the 1 pixel width of the picture to the salary resource
Imagecopy($new, $back,0, $height-$y-1, 0, $y, $width,1);
        }

            //Save the flipped picture
Imagejpeg($new,$filename);
Imagedestroy($back);
Imagedestroy($new);
}

trun_x("brophp.jpg")
?>

www.bkjia.comtruehttp: //www.bkjia.com/PHPjc/914056.htmlTechArticle Examples of image rotation and image flipping in PHP image processing. Image rotation and flipping are also common functions in Web projects. , but these are two different concepts. The rotation of the picture is based on a specific...
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