php 图片裁切
时间: 2023-07-26 08:07:28 浏览: 43
在 PHP 中裁切图片可以使用 GD 库或 Imagick 库,这里给出两种方式的示例代码。
使用 GD 库:
```php
// 打开原图
$srcImg = imagecreatefromjpeg('source.jpg');
// 获取原图尺寸
$srcW = imagesx($srcImg);
$srcH = imagesy($srcImg);
// 设定裁剪尺寸和位置
$cropW = 200;
$cropH = 200;
$cropX = ($srcW - $cropW) / 2;
$cropY = ($srcH - $cropH) / 2;
// 创建新图像
$dstImg = imagecreatetruecolor($cropW, $cropH);
// 裁剪
imagecopy($dstImg, $srcImg, 0, 0, $cropX, $cropY, $cropW, $cropH);
// 输出新图像
header('Content-type: image/jpeg');
imagejpeg($dstImg);
// 释放资源
imagedestroy($srcImg);
imagedestroy($dstImg);
```
使用 Imagick 库:
```php
// 打开原图
$srcImg = new Imagick('source.jpg');
// 获取原图尺寸
$srcW = $srcImg->getImageWidth();
$srcH = $srcImg->getImageHeight();
// 设定裁剪尺寸和位置
$cropW = 200;
$cropH = 200;
$cropX = ($srcW - $cropW) / 2;
$cropY = ($srcH - $cropH) / 2;
// 裁剪
$srcImg->cropImage($cropW, $cropH, $cropX, $cropY);
// 输出新图像
header('Content-type: image/jpeg');
echo $srcImg;
// 释放资源
$srcImg->destroy();
```
以上两种方式都是将图片从中央裁剪为正方形,你可以根据实际需求修改裁剪尺寸和位置。