使用ImageMagick重复或“平铺”图像

时间:2011-11-18 12:58:18

标签: image imagemagick tile montage

如何使用ImageMagick平铺图像?我不认为我可以使用montage,因为我希望列移位原始图像高度的50%。

显示我正在尝试做的一个例子可能更容易:

开始于:

enter image description here

结束于:

enter image description here

谢谢!

4 个答案:

答案 0 :(得分:12)

感谢Fred Fred's ImageMagick Scripts,这是解决方案:

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

这正是我所寻找的。

答案 1 :(得分:5)

即使您没有提及有关使用情况的任何内容,我也会将其放在此处,以便更多人了解。 Fred's脚本用于非商业。我以替代解决方案结束,但原则是相同的:

  1. 通过以下方式创建移位图块:

    convert _orange_270.jpg -roll +0+135 _orange_270_r.jpg

  2. 创建一个常规切片列:

    montage _orange_270.jpg +clone +clone +clone -tile x4 -geometry +0+0 _1col.jpg

  3. 创建一列已移位的图块:

    montage _orange_270_r.jpg +clone +clone +clone -tile x4 -geometry +0+0 _2col.jpg

  4. 组合常规列和移位列:

    montage -geometry +0+0 _1col.jpg _2col.jpg _2cols.jpg

  5. 使用第4点的最后一个输出创建完整的平铺图像:

    convert _2cols.jpg -write mpr:tile +delete -size 1920x1080 tile:mpr:tile _wallpap.jpg

  6. 结果:

    enter image description here

答案 2 :(得分:5)

如果你想要普通的瓷砖,而不是向下移动第二列和其他偶数列,你可以使用这个脚本:

"C:\Program Files\ImageMagick-7.0.6-Q16\magick.exe" -size 800x600 tile:Ball.jpg Tiles.jpg

(可能大多数登陆此问题的人都想要这样的平铺瓷砖,就像我一样)

替换" -7.0.6-Q16"使用您自己的ImageMagick版本

我的" Ball.jpg"是200 x 200像素,因此该脚本创建一个4x3平铺图像

答案 3 :(得分:0)

如果在使用ImageMagick的类似unix的系统上,你可以在http://www.fmwconcepts.com/imagemagick/tileimage/index.php使用我的脚本tileimage。

它提供了许多关于翻转,旋转和偏移的变化。

如果是非商业用途,则免费,如果是商业用途,请与我联系以获取许可证。

有关ImageMagick中平铺的信息可以在http://www.imagemagick.org/Usage/canvas/#tile

找到