×
新网 > 建站推广 > 正文

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

  • 作者:zccc
  • 来源:网络
  • 2020-08-24 12:05:12

在PHP中旋转并保存图像的方法:首先使用函数【imagerotate()】用给定角度旋转图像;然后使用函数【imagejpeg()】输出图象到浏览器或文件,代码为【imagejpeg ( resource $image)

在PHP中旋转并保存图像的方法:首先使用函数【imagerotate()】用给定角度旋转图像;然后使用函数【imagejpeg()】输出图象到浏览器或文件,代码为【imagejpeg ( resource $image)】。

【相关学习推荐:php编程(视频)】

在PHP中旋转并保存图像的方法:

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

在下面的代码示例中,我们给大家介绍在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('图像已成功保存。');

jpeg示例如下:

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

函数介绍:

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图文教程】

  • 相关专题

免责声明:本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,也不承认相关法律责任。如果您发现本社区中有涉嫌抄袭的内容,请发送邮件至:operations@xinnet.com进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。

免费咨询获取折扣

Loading