2011-11-18 114 views
9

如何使用ImageMagick平鋪圖像?我不認爲我可以使用montage,因爲我想讓列移位50%的原始圖像高度。使用ImageMagick重複或「平鋪」圖像

它可能更容易表現出什麼,我試圖做一個例子:

開始:

enter image description here

末有:

enter image description here

謝謝!

回答

11

由於弗雷德在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 

這正是我一直在尋找。

4

即使您沒有提及任何關於使用情況的內容,我會將其放在此處,以便讓更多人知道。 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

    1. 創建偏移了瓷磚

    2. 創建一列已移動的圖塊:

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

    3. 結合定期和偏移列:

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

    4. 使用從點4最後輸出

      創建完整的瓷磚圖像:

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

    ř esult:

    enter image description here

    2

    在你想要普通瓷磚不轉移下來的第二列,偶數列的其餘部分,你可以使用這個腳本的情況:

    "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×200個像素,所以這個腳本創建了一個4x3的平鋪圖像