【发布时间】:2012-01-01 05:44:53
【问题描述】:
如何使用 ImageMagick 平铺图像?我认为我不能使用montage,因为我希望列被原始图像高度的 50% 取代。
展示一个我正在尝试做的例子可能更容易:
开始于:
结尾:
谢谢!
【问题讨论】:
标签: image imagemagick tile montage
如何使用 ImageMagick 平铺图像?我认为我不能使用montage,因为我希望列被原始图像高度的 50% 取代。
展示一个我正在尝试做的例子可能更容易:
开始于:
结尾:
谢谢!
【问题讨论】:
标签: image imagemagick tile montage
如果您想要纯平铺,无需向下移动第二列和其余偶数列,您可以使用此脚本:
convert -size 800x600 tile:Ball.jpg Tiles.jpg
(可能大多数登陆这个问题的人都想要这样简单的瓷砖,就像我一样)
我的“Ball.jpg”是 200 x 200 像素,所以这个脚本会创建一个 4x3 的平铺图像。
对于 ImageMagick 7 用户,将 convert 替换为 magick。
【讨论】:
convert -size 800x600 tile:Ball.jpg Tiles.jpg
tile: 不能出现在 -size 之前很有趣?
tile pseudo-image format 在文件名中被指定为前缀。根据转换手册页,输入文件名应放在输入选项之前:convert [input-option] input-file [output-option] output-file
感谢Fred's ImageMagick Scripts 的 Fred,这是解决方案:
infile="tile.png"
h2=`convert $infile -format "%[fx:round(h/2)]" info:`
convert $infile \( -clone 0 -roll +0+$h2 \) +append -write mpr:sometile +delete -size 1000x500 tile:mpr:sometile output.png
这正是我想要的。
【讨论】:
即使你没有提到任何关于使用上下文的内容,我还是把它放在这里让更多人知道。 Fred's 脚本供非商业使用。我以另一种解决方案结束,但是,原理是一样的:
通过以下方式创建移位图块:
convert _orange_270.jpg -roll +0+135 _orange_270_r.jpg
创建一列常规图块:
montage _orange_270.jpg +clone +clone +clone -tile x4 -geometry +0+0 _1col.jpg
创建一列移位图块:
montage _orange_270_r.jpg +clone +clone +clone -tile x4 -geometry +0+0 _2col.jpg
合并常规列和移位列:
montage -geometry +0+0 _1col.jpg _2col.jpg _2cols.jpg
使用第 4 点的最后输出创建完整的平铺图像:
convert _2cols.jpg -write mpr:tile +delete -size 1920x1080 tile:mpr:tile _wallpap.jpg
结果:
【讨论】:
如果在带有 ImageMagick 的类 unix 系统上,您可以使用我的脚本 tileimage 在http://www.fmwconcepts.com/imagemagick/tileimage/index.php。
它提供了许多关于翻转、旋转和偏移的变化。
如果是非商业用途,那么它是免费的,如果是商业用途,那么请联系我以获得许可。
有关 ImageMagick 平铺的信息,请访问 http://www.imagemagick.org/Usage/canvas/#tile
【讨论】: