【问题标题】:Imagemagick crop not workingImagemagick 裁剪不起作用
【发布时间】: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 之前重新分页图像
  • 马克,成功了。谢谢。为什么不提供任何答案,然后我可以接受。给你积分我认为你已经赢得了他们!

标签: php imagemagick height width crop


【解决方案1】:

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

【讨论】:

  • 我的问题中的代码已更新以显示建议的解决方案。
  • 表现出色,具有社区意识,向大家展示了它是如何解决的!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-05-01
  • 2012-05-19
  • 2013-08-06
  • 2020-02-05
  • 2014-08-03
相关资源
最近更新 更多