【问题标题】:Using ImageMagick to repeat or "tile" an image使用 ImageMagick 重复或“平铺”图像
【发布时间】:2012-01-01 05:44:53
【问题描述】:

如何使用 ImageMagick 平铺图像?我认为我不能使用montage,因为我希望列被原始图像高度的 50% 取代。

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

开始于:

结尾:

谢谢!

【问题讨论】:

    标签: image imagemagick tile montage


    【解决方案1】:

    如果您想要纯平铺,无需向下移动第二列和其余偶数列,您可以使用此脚本:

    convert -size 800x600 tile:Ball.jpg Tiles.jpg
    

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

    我的“Ball.jpg”是 200 x 200 像素,所以这个脚本会创建一个 4x3 的平铺图像。

    对于 ImageMagick 7 用户,将 convert 替换为 magick。

    【讨论】:

    • 在 linux 上的用法相同:convert -size 800x600 tile:Ball.jpg Tiles.jpg
    • @Marinostile: 不能出现在 -size 之前很有趣?
    • @Rodrigo 我猜这是因为 tile pseudo-image format 在文件名中被指定为前缀。根据转换手册页,输入文件名应放在输入选项之前:convert [input-option] input-file [output-option] output-file
    【解决方案2】:

    感谢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
    

    这正是我想要的。

    【讨论】:

      【解决方案3】:

      即使你没有提到任何关于使用上下文的内容,我还是把它放在这里让更多人知道。 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

      结果:

      【讨论】:

        【解决方案4】:

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

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

        如果是非商业用途,那么它是免费的,如果是商业用途,那么请联系我以获得许可。

        有关 ImageMagick 平铺的信息,请访问 http://www.imagemagick.org/Usage/canvas/#tile

        【讨论】:

          猜你喜欢
          • 2015-10-28
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2014-02-25
          • 1970-01-01
          • 1970-01-01
          • 2016-02-01
          相关资源
          最近更新 更多