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

本教程详细介绍了如何使用PHP中的imagecreatefrompng(), imagerotate()和imagepng()函数来旋转并保存png或jpeg图像。通过代码示例展示了旋转90度后如何保存图像。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

如果你想在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。

本文参考地址:https://www.php.cn/php-weizijiaocheng-415639.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值