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

PHP函数实现图片缩放、剪切和旋转

发布时间:2023-06-30 23:23:32

在PHP中,可以使用GD库函数来实现图片的缩放、剪切和旋转。

1. 图片缩放:

要实现图片缩放,可以使用GD库函数中的imagecopyresampled()函数。该函数可以将一个图像的一部分复制到另一个图像中,并通过重新采样来调整大小。以下是一个示例,展示如何使用该函数来缩放图片:

<?php
// 原始图片路径
$source_image = 'path_to/source_image.jpg';
// 缩放后图片路径
$destination_image = 'path_to/destination_image.jpg';
// 缩放后图片的宽度
$width = 500;
// 缩放后图片的高度
$height = 300;

// 创建一个新的图片资源
$destination = imagecreatetruecolor($width, $height);
// 读取原始图片
$source = imagecreatefromjpeg($source_image);

// 将原始图片的一部分复制到缩放后的图片中
imagecopyresampled($destination, $source, 0, 0, 0, 0, $width, $height, imagesx($source), imagesy($source));

// 将缩放后的图片保存到指定路径
imagejpeg($destination, $destination_image);

// 释放资源
imagedestroy($destination);
imagedestroy($source);
?>

2. 图片剪切:

要实现图片剪切,可以使用GD库函数中的imagecrop()函数。该函数可以从图像中剪切出指定的矩形区域。以下是一个示例,展示如何使用该函数来剪切图片:

<?php
// 原始图片路径
$source_image = 'path_to/source_image.jpg';
// 剪切后图片路径
$destination_image = 'path_to/destination_image.jpg';
// 剪切后图片的宽度
$width = 200;
// 剪切后图片的高度
$height = 200;
// 剪切起点的x坐标
$x = 100;
// 剪切起点的y坐标
$y = 100;

// 读取原始图片
$source = imagecreatefromjpeg($source_image);

// 剪切图片
$cropped = imagecrop($source, ['x' => $x, 'y' => $y, 'width' => $width, 'height' => $height]);

// 保存剪切后的图片到指定路径
imagejpeg($cropped, $destination_image);

// 释放资源
imagedestroy($source);
imagedestroy($cropped);
?>

3. 图片旋转:

要实现图片旋转,可以使用GD库函数中的imagerotate()函数。该函数可以对图像进行顺时针旋转。以下是一个示例,展示如何使用该函数来旋转图片:

<?php
// 原始图片路径
$source_image = 'path_to/source_image.jpg';
// 旋转后图片路径
$destination_image = 'path_to/destination_image.jpg';
// 旋转角度(以度为单位,正值为顺时针旋转)
$degrees = 90;

// 读取原始图片
$source = imagecreatefromjpeg($source_image);

// 旋转图片
$rotated = imagerotate($source, $degrees, 0);

// 保存旋转后的图片到指定路径
imagejpeg($rotated, $destination_image);

// 释放资源
imagedestroy($source);
imagedestroy($rotated);
?>

通过使用GD库函数中的imagecopyresampled()、imagecrop()和imagerotate()函数,可以很方便地实现图片的缩放、剪切和旋转。根据实际需求,可以调整参数以达到所需的效果。