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/100y=percent*height/100)。然后使用坐标计算宽度和高度(width=topleftx-toprightxheight=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

php7 使用imagick 的坑

PHP 在symfony下修改ImageMagick sfThumbnail插件

ImageMagick PHP - 在图像上扭曲文本和注释

使用 php/windows 安装 ImageMagick 扩展

如何在 Windows 7 上安装 ImageMagick 以与 PHP 一起使用 (3)