使用ImageMagick將eps批量匯出為透明png圖片
阿新 • • 發佈:2019-01-22
一、前言
- 後文的解釋比較囉嗦,這裡先上總結論:下載magick軟體,在命令列使用下述兩行程式碼:
mogrify -density 120 -format png *.eps
mogrify -transparent white *.png
可以將工作目錄下的所有eps匯出為png圖片,並且將白色背景變成透明背景。 - ImageMagick (TM) 是一個免費的建立、編輯、合成圖片的軟體,其大多數功能的使用都來源於命令列工具。在python2還有對應的庫PythonMagick。參考資料:
① ImageMagick官網
② 中文官網
③ 中文教程
二、使用convert處理單張圖片
- 下載測試檔案a.eps
- convert基本用法
- 可以設定-density引數,控制輸出的解析度,這裡-density的單位與illustrator匯出png的ppi相同,預設值為72。為了防止圖片太小,這裡進行一定的放大,設成120:
convert -density 120 a.eps a.png
,輸出的a.png原尺寸為132×26的話,現在放大120/72,變為220×43。注意這裡的引數呼叫順序,-density 120
不能放到a.eps
後面。 - 接上一步,使用
-transparent white
可以把白色背景變透明:convert -transparent white a.png a.png
- 如果要批量將eps轉為png,
convert
的匯出名稱規則是採用數字自動編號,無法維持原檔名。使用*作為匯出萬用字元會報錯,只能使用%02d等數字格式。例如:
三、改用mogrify命令批量處理圖片
- 所以批量處理的時候,推薦用功能類似的
mogrify
代替convert
,其與convert
的主要區別是用於原地操作。
因為windows自帶一個C:\Windows\System32\convert.exe工具,這也是為了防止呼叫名稱衝突。 - 替換單張圖片的語法,結合-format引數:
mogrify -density 120 -format png a.eps
,注意千萬千萬不要用mogrify -density 120 a.eps a.png
- 批量把eps替換為png,且把白色背景換成透明背景的程式碼:
mogrify -density 120 -format png *.eps
mogrify -transparent white *.png
- 使用自定義顏色,用雙引號包起rgb值即可:
mogrify -transparent "rgb(255,255,255)" *.png