2013-04-05 73 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