Linux中国  设为主页
 收藏本站
 
当前位置: > 首页 ->Linux技术 ->桌面应用 ->使用ImageMagick 的提示与技巧
  相关分类: 
入门与提高
系统管理
网络应用
嵌入式系统
内核研究
服务器相关
发行版专区
Linux程序设计
Linux安全
BSD相关
桌面应用
  站内搜索: 
热门文章排行
热门文章排行 怎么样降低Linux 内存开销 (04-22)
一个中学生眼中的桌面Linux操作系统(04-11)
使用ImageMagick 的提示与技巧 (04-22)
Linux系统中显示设备配置工具介绍 (04-22)
菜鸟也疯狂:Linux桌面应用全攻略(04-11)
精采文章排行
精采文章排行 怎么样降低Linux 内存开销 (04-22)
使用Portland改善Linux桌面移植性 (04-22)
Linux系统中显示设备配置工具介绍 (04-22)
Firefox 快捷键大全(2.0版) (04-22)
使用ImageMagick 的提示与技巧 (04-22)
  ·使用Portland改善Linux桌面移植性 ·Linux系统中显示设备配置工具介绍 ·Firefox 快捷键大全(2.0版) ·使用ImageMagick 的提示与技巧 ·在Linux上烧录CD ·使用指南:好用的播放器mpd ·OSS--跨平台的音频接口简介 ·Gnuplot科学绘图——入门篇 ·在Archlinux 安装Maya7.01

使用ImageMagick 的提示与技巧

作者:Michael Still    来源:IBM DW中国   点击:   日期:2007-04-22 [收藏] [投稿]

  IE是否经常中毒?推荐您

没有什么能像命令行工具这样适合于处理大批量的任务,对于图像处理也不例外。Web 开发人员和管理员会喜欢轻松处理大量文件的能力,无论是使用命令行还是脚本。程序员 Michael Still 给出了更多关于 ImageMagick 套件的示例,这一次向您示范了怎么样将圆角、徽标或者边框和边添加到您的图像中,以及怎么样与多页文件格式 (包括 Adobe PDF 格式)进行转换。

去年我为 developerWorks 写了一篇关于在命令行中使用 ImageMagick 处理图像的文章。那篇文章得到了相当好的评价,此后我通过电子邮件收到了很多关于 ImageMagick 的问题。本文是对上一篇文章中讨论的技术的扩展,并且回答了那些我力所能及的问题。如果这是您在 IBM DeveloperWorks 发现的第一篇关于 ImageMagick 的文章,那么您最好先去阅读其第一篇文章(在 参考资料 部分可以找到它的链接)。

本文采用了根据示例来讨论特定问题的论述方法,但是那些概念同样适用于其他问题空间。这个方法和前一篇文章所采用的方法相同。这里讨论到的技术也可以和我们先前讨论的那些技术结合到一起使用。

应该注意的是,有很多方法可以完成本文中讨论的内容。我将只讨论我所使用的方法,并且知道这些方法适合我。这并不是说除此以外其他工具不好,而只是表示我喜欢我现在使用的工具。

圆角

如果您看一看 Mac OS/X,以及很多 Web 站点,那些图片有非常漂亮的圆角。您如何才能用 ImageMagick 实现这一效果?好的,我们将展示一些使用 composite 命令来生成这种效果的灵活方法。

不过,在我们达到目的之前,让我们先谈一下我们将要运用的策略。如果您考虑一下,可以通过将一些标准预制的角叠加到原始图像上来制作出具有圆角的图像。甚至不需要是圆的角 —— 我们可以用尖角,或者是更有趣的东西。

记住将角的多余部分设置为透明的。这一透明特性可以让我们要叠加角的图像仍可以显示出来。这可能会让人有些迷惑,因为有一些图像浏览器,比如 xview,将以黑色或者其他颜色来表示透明。

GIMP

GIMP,即 GNU Image Manipulation Package,是一个非常有用的光栅图形编辑器,很像 Adobe Photoshop。它很适于调节图像,或者创建您自己的新图片。查看本文的 参考资料 部分以查找关于 Gimp 和 Gimp 参考资料的链接。


图 1. 用 xview 显示的圆角
用 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 *.png do 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

为图像添加边框

有一些读者提出的另一个问题是怎么样给图像添加边框。同样,通过 ImageMagick 可以轻松完成。

凸边或凹边

我将要介绍的第一类边框是凸边或凹边。这个效果是通过调节图像边缘的颜色而实现的,看起会感觉图像像是从周围表面凸起或者凹下。为实现这个效果,您需要指定一个尺寸,首先是水平尺寸,然后是垂直尺寸。这些尺寸的大小必须满足这样一个规则,尺寸的二倍必须小于或等于在那个方向上图像的尺寸大小。例如,您不可以指定边框垂直尺寸大于图像垂直尺寸的一半 —— 其实这主要是说您不可以制作一个比原图还要大的边框。

 如果您对本文有任何疑问或者建议,请到讨论区发表您的意见: >> 论坛入口 <<

上一页12 3 下一页

上一篇:在Linux上烧录CD   下一篇:Firefox 快捷键大全(2.0版)
文章评论】 【收藏本文】 【推荐好友】 【打印本文】 【我要投稿】 【论坛讨论

   相关文章:
·怎么样降低Linux 内存开销

   文章评论:(1条)
  
 请留名: 匿名评论   点击查看所有评论 论坛讨论
 

 声明:刊登此文章是为了传递更多信息,文章内容仅供参考,转载请注明出处。