【问题标题】:How to fit multiple images in a page optimally using ImageMagick如何使用 ImageMagick 以最佳方式在页面中放置多个图像
【发布时间】:2021-02-02 11:50:59
【问题描述】:

假设我在一个文件夹中有一堆不同大小的图像。目标是以空白最小的方式将图像放入多个页面(例如 A4)。不应该涉及任何压缩或调整大小。某些图像会被旋转是可以接受的。
这是我想出的,但没有尝试以任何方式“适应”图像:

montage *.jpg -mode concatenate -tile 2x2 -page A4 -geometry +20+20 out.pdf

是否可以使用 imagemagick 和 montage 开关?
我猜计算几何算法应该改变上面命令的 2x2 和 +20+20 部分吧?

【问题讨论】:

    标签: image-processing optimization imagemagick computational-geometry imagemagick-montage


    【解决方案1】:

    在 ImageMagick 7(7.0.10-23 或更高版本)中,有一个名为 Ashlar 的拼贴画新功能。但它会调整大小以适应所有提供的图像到分配的空间。

    https://imagemagick.org/script/formats.php#pseudo

    magick *.jpg -define ashlar:best-fit=true ashlar:canvas.png[1000x1000+5+5]
    

    [1000x1000+5+5] 指定输出尺寸以及图像之间 x 和 y 的最小间距。


    这是 A4 尺寸的结果:

    magick *.jpg -define ashlar:best-fit=true ashlar:canvas2.jpg[595x842++0+0]
    

    【讨论】:

    • 谢谢!那么montage *.jpg -define ashlar:best-fit=true -mode concatenate -tile 2x2 -page A4 -geometry +5+5 out.pdf 最适合放在 A4 纸上吗?
    • 据我所知,它在蒙太奇中不起作用。它只能在 IM 7 中使用 magick .... ashlar:result.jpg 并调整图像大小以适合您指定的输出大小。
    • 谢谢。所以它会调整大小以适应...我想在 m 页面上适应一组图像而不改变它们的大小。
    • 没有办法。您将不得不编写一些脚本。你能做的最好的就是计算你可以在每一页上放置多少图像,然后使用蒙太奇,然后将所有蒙太奇组合成一个多页的 PDF。
    • 我相信,如果你有足够少的图像来输出给定的尺寸,那么 Ashlar 将不会调整尺寸。但是您必须为此进行一些计算。
    猜你喜欢
    • 1970-01-01
    • 2013-12-23
    • 1970-01-01
    • 1970-01-01
    • 2014-11-02
    • 2012-07-09
    • 1970-01-01
    • 2015-08-13
    • 2011-06-09
    相关资源
    最近更新 更多