PHP Imagick裁剪负偏移的图像并保留负空间
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了PHP Imagick裁剪负偏移的图像并保留负空间,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1420字,纯文字阅读大概需要3分钟。
内容图文
![PHP Imagick裁剪负偏移的图像并保留负空间](/upload/InfoBanner/zyjiaocheng/734/dd2a9727e66d4fe790686dad20c49248.jpg)
我正在使用php Imagick :: cropImage,我遇到了一些麻烦.
假设我有这个图像:
我想用这个裁剪区裁剪图像:
这是我正在使用的PHP代码:
$width = 200;
$height = 200;
$x = -100;
$y = -50;
$image = new Imagick();
$image->readImage($path_to_image);
$image->cropImage( $width, $height, $x, $y );
$image->writeImage($path_to_image);
$image->clear();
$image->destroy();
结果是50px x 150px图像(这不是我想要的):
我想要的是一个200px x 200px图像,其中填充其余部分(检查图案说明透明像素):
如何填充这些空像素?
解决方法:
裁剪后使用Imagick::extentImage将图像增长到预期的图像大小.无论是设置背景颜色还是根据需要进行填充,都可以轻松填充“空”像素.
$width = 100;
$height = 100;
$x = -50;
$y = -25;
$image = new Imagick();
$image->readImage('rose:');
$image->cropImage( $width, $height, $x, $y );
$image->extentImage( $width, $height, $x, $y );
用背景填充空像素
$image = new Imagick();
$image->readImage('rose:');
$image->setImageBackgroundColor('orange');
$image->cropImage( $width, $height, $x, $y );
$image->extentImage( $width, $height, $x, $y );
或者ImagickDraw
$image = new Imagick();
$image->readImage('rose:');
$image->cropImage( $width, $height, $x, $y );
$image->extentImage( $width, $height, $x, $y );
$draw = new ImagickDraw();
$draw->setFillColor('lime');
$draw->color(0, 0, Imagick::PAINT_FLOODFILL);
$image->drawImage($draw);
编辑
要设置透明空像素,请在背景颜色之前设置遮罩
$image->setImageMatte(true);
$image->setImageBackgroundColor('transparent');
内容总结
以上是互联网集市为您收集整理的PHP Imagick裁剪负偏移的图像并保留负空间全部内容,希望文章能够帮你解决PHP Imagick裁剪负偏移的图像并保留负空间所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。