Imagemagick 裁剪不起作用

Posted

技术标签:

【中文标题】Imagemagick 裁剪不起作用【英文标题】:Imagemagick crop not working 【发布时间】:2015-03-02 01:58:42 【问题描述】:

我试图使用 imagemagick 对图像进行裁剪。它没有给出我预期的结果。 我决定将裁剪值设置为 0 以尝试查找错误。 裁剪值为 0 时,图像仍在裁剪中。

代码如下:

$img = new Imagick();
$img->readImage("german-grammar.pdf[17]");
$img->trimImage(10);
$width = $img->getImageWidth();
$height= $img->getImageHeight();
$img->setImagePage($width,$height, 0, 0); //Solution
$img->cropImage($width, $height,0,0); //Original Problem lime
$img->setImagePage(0,0,0,0);
$img->writeImage($ImagesPath.$ImageName);

输入是 PDF 文件。

如果有人能告诉我我做错了什么,我将不胜感激。 当然,裁剪值 0 根本不应该裁剪。

谢谢!

西姆罗

【问题讨论】:

最后有什么理由不使用writeImage()?你能把你的代码简化到最低限度,并给出输入图像和结果输出图像的尺寸吗? 马克,已包含 2 张图像并指出导致异常行为的行。 writeImage() 对我不起作用。谷歌搜索后,我阅读了一篇关于在 Imagemagick 中使用 file_put_contents 的帖子,它运行良好。 马克,再次尝试了 writeImage(),这次成功了。已更新上面的代码以显示 writeImage()。 尝试在trim 之后但crop 之前重新分页图像 马克,成功了。谢谢。为什么不提供任何答案,然后我可以接受。给你积分我认为你已经赢得了他们! 【参考方案1】:

我认为您需要在trimImage() 之后和cropImage() 之前立即重新分配您的图像。如果您希望图像忘记它曾经是更大图像的一部分并继续前进,那么在对图像的几何形状进行任何更改(例如修剪和调整大小)后重新分页通常是一个好主意世界对自己的新形状和大小感到高兴和满足。

【讨论】:

我的问题中的代码已更新以显示建议的解决方案。 表现出色,具有社区意识,向大家展示了它是如何解决的!

以上是关于Imagemagick 裁剪不起作用的主要内容,如果未能解决你的问题,请参考以下文章

使用 Imagemagick 裁剪图像的一部分并将其粘贴到另一个图像中不起作用

使用imagemagick linux脚本裁剪图像不起作用

使用imagick裁剪大图像不起作用

ImageMagick 缩放和裁剪保持纵横比

带有nodejs的imagemagick不起作用

图像视图裁剪不起作用