欢迎访问宙启技术站
智能推送

使用PHP图像函数处理图片:缩放、裁剪和旋转

发布时间:2023-09-02 19:54:29

在使用PHP进行图像处理时,我们可以使用一些图像函数来完成一些常见的操作,如缩放、裁剪和旋转。下面将简单介绍这些图像处理函数。

1. 缩放图像:

使用PHP的imagecopyresampled函数可以将一个图像按照指定的宽度和高度进行缩放。这个函数会同时保持图像的宽高比例。

示例代码:

// 打开原始图像
$srcImage = imagecreatefromjpeg('original.jpg');

// 获取原始图像的宽高
$srcWidth = imagesx($srcImage);
$srcHeight = imagesy($srcImage);

// 设定缩放后的宽高
$newWidth = 300;
$newHeight = 200;

// 创建一个新图像
$dstImage = imagecreatetruecolor($newWidth, $newHeight);

// 缩放图像
imagecopyresampled($dstImage, $srcImage, 0, 0, 0, 0, $newWidth, $newHeight, $srcWidth, $srcHeight);

// 保存缩放后的图像
imagejpeg($dstImage, 'scaled.jpg');

// 释放图像资源
imagedestroy($srcImage);
imagedestroy($dstImage);

2. 裁剪图像:

使用PHP的imagecopy函数可以从一个图像中裁剪出指定位置和大小的部分图像。

示例代码:

// 打开原始图像
$srcImage = imagecreatefromjpeg('original.jpg');

// 获取原始图像的宽高
$srcWidth = imagesx($srcImage);
$srcHeight = imagesy($srcImage);

// 设定裁剪的坐标和尺寸
$destX = 100;
$destY = 50;
$destWidth = 300;
$destHeight = 200;

// 创建一个新图像
$dstImage = imagecreatetruecolor($destWidth, $destHeight);

// 裁剪图像
imagecopy($dstImage, $srcImage, 0, 0, $destX, $destY, $destWidth, $destHeight);

// 保存裁剪后的图像
imagejpeg($dstImage, 'cropped.jpg');

// 释放图像资源
imagedestroy($srcImage);
imagedestroy($dstImage);

3. 旋转图像:

使用PHP的imagerotate函数可以将一个图像按照给定的角度旋转。

示例代码:

// 打开原始图像
$srcImage = imagecreatefromjpeg('original.jpg');

// 设定旋转角度(逆时针为正方向)
$angle = 45;

// 旋转图像
$dstImage = imagerotate($srcImage, $angle, 0);

// 保存旋转后的图像
imagejpeg($dstImage, 'rotated.jpg');

// 释放图像资源
imagedestroy($srcImage);
imagedestroy($dstImage);

以上是使用PHP图像函数处理图像的一些基本示例。你可以根据具体的需求,使用这些函数进行更复杂的图像处理操作。