Rumah  >  Artikel  >  pembangunan bahagian belakang  >  如何在PHP中旋转并保存图像?

如何在PHP中旋转并保存图像?

藏色散人
藏色散人asal
2019-02-27 11:01:113209semak imbas

如果你想在PHP中上传90度或180度旋转图像,那么本教程将帮助你。我们将使用imagecreatefrompng(),imagerotate()和imagepng()函数来旋转png图像并保存到服务器,jpeg图像同理。

如何在PHP中旋转并保存图像?

在下面的代码示例中,我们给大家介绍在PHP中将指定图像旋转90度后保存,并重命名为“myUpdateImage.png”、"myUpdateImage.jpeg"的实现方法。

png示例如下:

<?php
$fileName = "002.png";
    $degrees = 90 ;

    $source = imagecreatefrompng($fileName);

    $rotate = imagerotate ($source,$degrees,0);

    imagepng($rotate,"myUpdateImage.png");

    print_r(&#39;图像已成功保存。&#39;);

jpeg示例如下:

<?php
    
    $fileName = "001.jpeg";
    $degrees = 90;
    
    $source = imagecreatefromjpeg($fileName);
     
    $rotate = imagerotate($source, $degrees, 0);
    
    imagejpeg($rotate, "myUpdateImage.jpeg");
    
    print_r(&#39;图像已成功保存。&#39;);
   
?>

函数介绍:

imagecreatefrompng()函数由文件或 URL 创建一个新图象。

imagecreatefrompng ( string $filename ) : resource

imagecreatefrompng() 返回一图像标识符,代表了从给定的文件名取得的图像。

参数filename表示PNG 图像的路径。返回值,成功后返回图象资源,失败后返回 FALSE 。

1、imagerotate()函数用给定角度旋转图像

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

将图像用给定的 angle 角度旋转。bgd_color 指定了旋转后没有覆盖到的部分的颜色。

旋转的中心是图像的中心,旋转后的图像会按比例缩小以适合目标图像的大小——边缘不会被剪去。

参数image表示由图象创建函数(例如imagecreatetruecolor())返回的图象资源。

angle,转角度为逆时针旋转图像的角度数。

bgd_color,表示指定旋转后未覆盖区域的颜色

2、ignore_transparent,如果被设为非零值,则透明色会被忽略(否则会被保留)。

返回值返回旋转后的图像资源, 或者在失败时返回 FALSE。

3、imagejpeg()函数输出图象到浏览器或文件。

imagejpeg ( resource $image [, string $filename [, int $quality ]] ) : bool

imagejpeg() 从 image 图像以 filename 为文件名创建一个 JPEG 图像。

参数image,由图象创建函数(例如imagecreatetruecolor())返回的图象资源。

filename,文件保存的路径,如果未设置或为 NULL,将会直接输出原始图象流。如果要省略这个参数而提供 quality 参数,使用NULL。

quality 为可选项,范围从 0(最差质量,文件更小)到 100(最佳质量,文件最大)。默认为 IJG 默认的质量值(大约 75)。

返回值,成功时返回 TRUE, 或者在失败时返回 FALSE。

相关推荐:《PHP教程

本篇文章就是关于在PHP中旋转并保存图像的方法介绍,希望对需要的朋友有所帮助!

Atas ialah kandungan terperinci 如何在PHP中旋转并保存图像?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn