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 文档转换:
- $ 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
其功能是去掉白色背景,同时进行模糊过渡。