以下是一个使用PHP进行图片裁剪和缩放的示例。我们将使用GD库来处理图片。
示例代码
```php

// 图片裁剪和缩放函数
function resizeImage($sourceImage, $destinationImage, $width, $height) {
// 获取源图片信息
list($sourceWidth, $sourceHeight, $sourceType) = getimagesize($sourceImage);
// 根据图片类型创建图像资源
switch ($sourceType) {
case IMAGETYPE_JPEG:
$sourceImage = imagecreatefromjpeg($sourceImage);
break;
case IMAGETYPE_PNG:
$sourceImage = imagecreatefrompng($sourceImage);
break;
case IMAGETYPE_GIF:
$sourceImage = imagecreatefromgif($sourceImage);
break;
default:
return false;
}
// 计算裁剪区域
$cropX = ($sourceWidth - $width) / 2;
$cropY = ($sourceHeight - $height) / 2;
// 创建新图像资源
$newImage = imagecreatetruecolor($width, $height);
// 将源图片内容复制到新图像
imagecopyresampled($newImage, $sourceImage, 0, 0, $cropX, $cropY, $width, $height, $sourceWidth, $sourceHeight);
// 保存新图像
switch ($sourceType) {
case IMAGETYPE_JPEG:
imagejpeg($newImage, $destinationImage);
break;
case IMAGETYPE_PNG:
imagepng($newImage, $destinationImage);
break;
case IMAGETYPE_GIF:
imagegif($newImage, $destinationImage);
break;
}
// 释放图像资源
imagedestroy($sourceImage);
imagedestroy($newImage);
return true;
}
// 裁剪和缩放图片
$sourceImage = 'source.jpg'; // 源图片路径
$destinationImage = 'destination.jpg'; // 目标图片路径
$width = 500; // 目标宽度
$height = 300; // 目标高度
resizeImage($sourceImage, $destinationImage, $width, $height);
>
```
表格说明
| 参数 | 说明 | 示例 |
|---|---|---|
| $sourceImage | 源图片路径 | 'source.jpg' |
| $destinationImage | 目标图片路径 | 'destination.jpg' |
| $width | 目标宽度 | 500 |
| $height | 目标高度 | 300 |
以上代码将`source.jpg`图片裁剪为宽度500像素、高度300像素,并保存为`destination.jpg`。请确保在运行此代码前已安装GD库,并且服务器支持PHP图像处理功能。







