PHP Imagick完美实现图片裁切、生成缩略图、添加水印

Imagick是一个PHP扩展,用于处理图像。它可以完美实现图片裁切、缩略图生成和添加水印等功能。

1. 图片裁切

$imagick = new Imagick('image.jpg');
$imagick->cropImage(200, 200, 100, 100);  // (width, height, x, y)
$imagick->writeImage('cropped.jpg');

这段代码加载image.jpg图片,从(x, y) = (100, 100)坐标处向右下裁切出200×200大小的图片,并保存为cropped.jpg。

2. 生成缩略图

$imagick = new Imagick('image.jpg');
$imagick->scaleImage(200, 200, true);  // (width, height, 是否过滤)
$imagick->writeImage('thumbnail.jpg');

这段代码加载图片并缩小到200×200大小,生成thumbnail.jpg缩略图。

3. 添加图片水印

$imagick = new Imagick('image.jpg');
$watermark = new Imagick('watermark.png');
$imagick->compositeImage($watermark, Imagick::COMPOSITE_OVER, 100, 100); 
$imagick->writeImage('watermarked.jpg');

这段代码加载image.jpg图片和水印图片watermark.png,将水印图片叠加在(100, 100)坐标处,生成watermarked.jpg带有水印的图片。

4. 添加文字水印

$imagick = new Imagick('image.jpg');
$imagick->newPseudoImage(200, 80, "label:watermarked");  // width, height, text
$imagick->setImageFormat('png');
$imagick->compositeImage($imagick, Imagick::COMPOSITE_OVER, 100, 20);
$imagick->setImageFormat('jpg');
$imagick->writeImage('text-watermarked.jpg');

这段代码首先创建一张200×80的纯文字图片,文字内容为“watermarked”,然后将其与原图叠加,生成text-watermarked.jpg文字水印图片。

Imagick扩展提供了丰富的图像处理方法,这里只示例了常用的裁切、缩略图和水印功能,您可以参考其文档掌握更多图像处理技巧

© 版权声明
THE END
喜欢就支持一下吧
点赞8 分享
评论 抢沙发

请登录后发表评论