Board logo

标题: 通过命令行进一步处理图形--圆角 [打印本页]

作者: look_w    时间: 2018-5-7 20:06     标题: 通过命令行进一步处理图形--圆角

圆角如果您看一看 Mac OS/X,以及很多 Web 站点,那些图片有非常漂亮的圆角。您怎样才能用 ImageMagick 实现这一效果?好的,我们将展示一些使用         composite 命令来生成这种效果的灵活方法。      
不过,在我们达到目的之前,让我们先谈一下我们将要运用的策略。如果您考虑一下,可以通过将一些标准预制的角叠加到原始图像上来制作出具有圆角的图像。甚至不需要是圆的角—— 我们可以用尖角,或者是更有趣的东西。
记住将角的多余部分设置为透明的。这一透明特性可以让我们要叠加角的图像仍可以显示出来。这可能会让人有些迷惑,因为有一些图像浏览器,比如        xview,将以黑色或者其他颜色来表示透明。      
GIMPGIMP,即 GNU Image Manipulation Package,是一个非常有用的光栅图形编辑器,很像 Adobe Photoshop。它很适于调节图像,或者创建您自己的新图片。查看本文的 部分以查找关于 Gimp 和 Gimp 参考资料的链接。        

图 1. 用 xview 显示的圆角实际的角图像被叠加到一个图像上之后会变得更为清晰,所以让我们来继续做下去。我有一张以前在堪培拉的一个湖岸边拍摄的小图片。在没有圆角时,这张小图片看起来是这样的:
图 2. Burley Griffin 湖您可以使用         composite 命令将一个图像叠加到另一个图像上。让我们只叠加一个角,来看看发生了什么:      
composite -gravity NorthEast rounded-ne.png lake.png lake-1.png
其中 gravity 参数定义了在图像何处放置叠加的图像 —— 在我们的示例中是圆角。这一特定的命令让我们得到了下面的图像:
图 3. 有一个圆角的 Burley Griffin 湖下面我们再来处理其他的角:
composite -gravity NorthEast rounded-ne.png lake.png lake-1.png           
composite -gravity NorthWest rounded-nw.png lake-1.png lake-2.png           
composite -gravity SouthEast rounded-se.png lake-2.png lake-3.png           
composite -gravity SouthWest rounded-sw.png lake-3.png lake-4.png           

这将带给我们最终的图像:
图 4. 圆角的 Burley Griffin 湖依我拙见,这看起来有一些酷。您还应该注意到,这些角图像不必是圆的。如果您对尖角或者类似的东西感兴趣,那些同样是可能的 —— 只需要在位图编辑器中改变角的图像。实际上,您甚至可以用您的徽标取代角来叠加到图像上。
如果您想使用我的圆角,可以访问在本文末尾参考资料部分列出的链接。
最后,下面是一个小脚本,让您可以将指定目录下的所有 png 图像的角变为圆角:
for img in *.pngdo  composite -gravity NorthEast rounded-ne.png $img.png $img-1.png           
  composite -gravity NorthWest rounded-nw.png $img-1.png $img-2.png           
  composite -gravity SouthEast rounded-se.png $img-2.png $img-3.png           
  composite -gravity SouthWest rounded-sw.png $img-3.png $img-4.png           
done




欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) Powered by Discuz! 7.0.0