图片 透明 ImageMagick

ImageMagick 转换pdf为png 以及png图片透明[部分转载]
2011-03-13 18:31

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

其功能是去掉白色背景,同时进行模糊过渡。

你可能感兴趣的:(Blog)