2013-04-05 59 views
2

我試圖在RMagick中創建撕裂的邊緣效果。是否有類似於Photoshop的結晶過濾器?RMagick撕裂的邊緣

另外,我發現這個ImageMagick的代碼,這裏http://www.imagemagick.org/Usage/thumbnails/#torn做的:

convert thumbnail.gif \ 
     \(+clone -alpha extract -virtual-pixel black \ 
     -spread 10 -blur 0x3 -threshold 50% -spread 1 -blur 0x.7 \) \ 
     -alpha off -compose Copy_Opacity -composite torn_paper.png 

不過,我不明白它的任何。任何人都可以提供建議嗎?

回答

2

該命令執行兩項主要操作:創建一個具有撕紙效果的遮罩,將遮罩應用於圖像。它通過使用+克隆和括號,在一行中幻想地完成它們。儘管如此,將它作爲兩個命令來做也不那麼困惑:

convert thumbnail.gif \ 
     -alpha extract \ 
     -virtual-pixel black \ 
     -spread 10 \ 
     -blur 0x3 \ 
     -threshold 50% \ 
     -spread 1 \ 
     -blur 0x.7 \ 
     mask.png 

convert thumbnail.gif mask.png \ 
     -alpha off \ 
     -compose Copy_Opacity \ 
     -composite torn_paper.png 

第一個命令相當複雜。但是你可以發現在ImageMagick的文檔的每個組件的命令體面的解釋:

而且,通過分割命令到這些兩片,你可以看到它自己的面具的樣子。它基本上是紙張效果的倒數。整個圖像中間的白色,在「撕裂邊緣」周圍漸漸變黑。

第二個命令更直接。如ImageMagick docs中所述,Copy_Opacity是使圖像的某些部分透明或不透明的一種方法。任何掩模中黑色的東西都會在結果圖像中變得透明。實際上,第二個命令使用掩碼以一種風格上有趣的方式「擦除」原始縮略圖的邊緣。

+0

我已經實際上已經實現了它,但這個答案看起來像我這樣做,似乎很清楚。 – mlstudent 2013-04-20 03:45:34