java技术研究

统计

留言簿(3)

阅读排行榜

评论排行榜

图片 透明 ImageMagick[转载]

    ImageMagick 转换pdf为png 以及png图片透明[转载]
http://xieruilin.javaeye.com/blog/786584

在我写的《基于MoinMoin+ConTeXt实现包含数学内容的Wiki网站》一文中谈到了将 TeX 生成的 pdf 矢量图形转换为背景透明的 png 图片,这是利用 ImageMagick 工具套件中的 convert 命令实现的。 

convert 命令有许多选项参数,本文用到的选项如下: 

  -trim:裁剪图像四周空白区域; 
  -transparent color:去除图像中指定的颜色; 
  -density geometry:设定图像的 DPI 值,若不明 DPI 值的概念,可参考《有关pt, px及DPI的知识》; 
  -antialias:让图像具有抗锯齿的效果; 
  -quality:图像压缩等级。

下面先由一份 ConTeXt 文档生成 pdf 图形,文档内容如下: (省略)


使用 convert 命令对该 pdf 文档转换: 

Shell代码  
  1. $ convert -quality  100  -antialias -density  96  -transparent white -trim test.pdf test.png  


经 过测试,关于png透明的需要设定 -transparent white ,即去掉白色背景(其它背景色用相应的颜色名)。 不过对于eps图片,不需要这个命令,因为eps一般是没有背景的。(这里比较奇怪,照说pdf应该也是没有背景色的,eps和pdf都用相同的画图工具 输出。)

对于已经有背景色的png图片,同样可以用下面的命令 
convert -transparent white  test.png test_new.png 

ImageMagick官方网页中,透明色的转换示例较为复杂 : 

convert cyclops.png -bordercolor white -border 1x1 -alpha set -channel RGBA -fuzz 20% -fill none -floodfill +0+0 white -shave 1x1 cyclops_flood_2.png
其功能是去掉白色背景,同时进行模糊过渡。

posted on 2012-05-16 11:59 小秦 阅读(636) 评论(0)  编辑  收藏


只有注册用户登录后才能发表评论。


网站导航: