【问题标题】:Compose multiple regions of an image into a target将图像的多个区域组合成目标
【发布时间】:2021-03-24 19:28:07
【问题描述】:

我正在尝试使用 ImageMagick 将渲染 PDF 的不同部分组合成目标。例如,我想让 ImageMagick 以 300dpi 渲染 PDF,然后创建一个 300x400 像素的输出图像,然后从 PDF 中取出 10x20+30+40 的区域并将其放置在 12,34 的目标(300x400 像素图像)中。然后在不同坐标处取另一个(以及第三个和第四个)块,大小不同,并将它们放置在不同的位置。

我似乎无法弄清楚如何一次性完成此操作,并且多次运行总是会重新渲染 PDF 并且需要很长时间。这甚至可能吗?

【问题讨论】:

标签: imagemagick imagemagick-convert


【解决方案1】:

这里有一个关于如何解决这个问题的想法。它使用 Fred 在 cmets 中建议的 MPR“内存程序寄存器”。它基本上是我在开始时写入的命名内存块,稍后我需要它时会回忆它。

这是来自Prokudin-Gorskii 收藏的一个相当精彩的开始图片:

代码调整图像大小并将副本保存在 MPR 中。然后,获取 MPR 的副本,裁剪出一个头部,调整其大小并将调整大小的结果合成到不同位置的已调整大小的原件上,然后对另一个头部重复该过程。

magick Prokudin.png -resize 300x400\! -write MPR:orig \
    \( MPR:orig -crop 50x50+180+84 -resize 140x140  \) -geometry +10+240 -compose src-over -composite \
    \( MPR:orig -crop 40x40+154+184                 \) -geometry +40+100 -compose src-over -composite \
    result.png

如果您无法理解它,请尝试省略第二行或第三行来运行它,以便它只做一个头部;-)

希望它涵盖了您问题的所有方面,并且您可以将其调整为您的 PDF。

【讨论】:

  • 我很高兴 - 很高兴它对你有用。祝你的项目好运,如果你遇到困难,可以回来问另一个 - 问题和答案都是免费的。
猜你喜欢
  • 1970-01-01
  • 2011-01-20
  • 2015-09-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-09-22
相关资源
最近更新 更多