以下是一个使用PHP和GD库进行图像裁切的实例。在这个例子中,我们将从一个原始图片中裁取一个矩形区域,并将裁剪后的图片保存到服务器上。
实例代码
```php

// 设置图片源和目标路径
$sourceImage = 'path/to/your/image.jpg';
$destinationImage = 'path/to/your/destination/cropped_image.jpg';
// 获取原始图片信息
$info = getimagesize($sourceImage);
$width = $info[0];
$height = $info[1];
// 根据文件类型创建图像资源
switch ($info[2]) {
case IMAGETYPE_JPEG:
$sourceImageResource = imagecreatefromjpeg($sourceImage);
break;
case IMAGETYPE_PNG:
$sourceImageResource = imagecreatefrompng($sourceImage);
break;
case IMAGETYPE_GIF:
$sourceImageResource = imagecreatefromgif($sourceImage);
break;
default:
die('不支持的图片格式');
}
// 定义裁剪区域
$croppedWidth = 200;
$croppedHeight = 200;
$x = ($width - $croppedWidth) / 2; // 裁剪区域在图片中间
$y = ($height - $croppedHeight) / 2; // 裁剪区域在图片中间
// 裁剪图片
$croppedImageResource = imagecrop($sourceImageResource, ['x' => $x, 'y' => $y, 'width' => $croppedWidth, 'height' => $croppedHeight]);
// 检查裁剪是否成功
if ($croppedImageResource !== false) {
// 设置裁剪后图片的类型
switch ($info[2]) {
case IMAGETYPE_JPEG:
imagejpeg($croppedImageResource, $destinationImage);
break;
case IMAGETYPE_PNG:
imagepng($croppedImageResource, $destinationImage);
break;
case IMAGETYPE_GIF:
imagegif($croppedImageResource, $destinationImage);
break;
}
// 释放资源
imagedestroy($sourceImageResource);
imagedestroy($croppedImageResource);
echo "





