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
其功能是去掉白色背景,同時進行模糊過渡。