PHP ImageMagick 通过提供上/右/下/左百分比进行裁剪
Posted
技术标签:
【中文标题】PHP ImageMagick 通过提供上/右/下/左百分比进行裁剪【英文标题】:PHP ImageMagick Crop By Providing top/right/bottom/left Percentages 【发布时间】:2019-12-17 17:52:05 【问题描述】:我知道如何使用 ImageMagick 的 cropImage() 函数裁剪图像:
$imagick->cropImage($width, $height, $startX, $startY);
如何通过使用 ImageMagick 提供顶部、右侧、左侧和底部的百分比来使用 php 裁剪图像?
【问题讨论】:
获取图片尺寸。然后将百分比转换为实际坐标(x=percent*width/100
和y=percent*height/100
)。然后使用坐标计算宽度和高度(width=topleftx-toprightx
和height=bottomlefty-toplefty
)。然后按照上面的说明使用cropImage。
另见php.net/manual/en/function.getimagesize.php
@fmw42 谢谢,我解决了。发布在下面。
【参考方案1】:
我使用以下代码解决了它:
$imagick = new Imagick;
$imagick->readImageBlob( $image );
$image_width = $imagick->getImageWidth();
$image_height = $imagick->getImageHeight();
$x = $image_width * ($left/100);
$y = $image_height * ($top/100);
$new_width = $image_width - ($image_width * ($right/100)) - $x;
$new_height = $image_height - ($image_height * ($bottom/100)) - $y;
$imagick->cropImage($new_width, $new_height, $x, $y);
【讨论】:
以上是关于PHP ImageMagick 通过提供上/右/下/左百分比进行裁剪的主要内容,如果未能解决你的问题,请参考以下文章
在CentOS上为PHP安装Imagick和ImageMagick
PHP 在symfony下修改ImageMagick sfThumbnail插件