2013-04-03 51 views
2

我使用imageMagick將圖像拆分爲瓷磚。我使用以下命令:結合瓷磚使用imagemagick創建圖像

convert -crop 100x100 source.png tile%d.png 

這會創建一堆平鋪圖像。有沒有辦法從瓷磚重新創建原始圖像?我正在做這個不同的source.png文件(不同的維度),所以我並不總是知道每個圖像(即多少行/列)將有多少瓦片。

回答

2

我不認爲你能夠做到這一點與tile%d.png因爲你 不知道有多少行和列。如果圖像大小不是 100的倍數,則最終會顯示不同大小的圖塊。然後,您可以通過檢查尺寸的文件 查找非「全尺寸」圖塊。如果原始大小是1000x2000,那麼這將會破壞 。

我認爲你需要在文件名中包含行和列。你需要 需要IM v6.4.8-4及更高版本。

convert source.png -crop 100x100 -set filename:tile \ 
    "%[fx:page.y/100+1000]_%[fx:page.x/100+1000]" \ 
    +repage +adjoin "file_tiles_%[filename:tile].png" 

魔法是fx:page.x/100+1000100需要匹配你的裁剪尺寸 是爲x和1000是使文件所有行高達9999(所以最多8999 行和列)或899如果你不想做數學去除1000從 號碼。

如果你需要tile%d.png,你總是可以創建兩個集合。當您恢復原始文件時,您需要執行如下操作:

montage -mode concatenate -tile 4x file_tiles_*.png rejoined.png 

您需要計算出列數。這可以從 最後一個有1000行的解析......

ls -1 file_tiles_1000* | tail -1 | sed 's/.*_//g; s/\.png//g; s/^.000*//g' 

§ Tile Cropping