星期六, 十二月 02, 2006

ImageMagick use convert show chinese on images

ImageMagick 是個很好用的圖檔處理工具,其中的 convert 這個命令可以做出很多圖檔出來,例如可以在圖片中加入文字等功能!實在很好用,也可以產生一個隨機的圖片,可以做出網站上常用的驗證碼等類似功能!但是 convert 這一個工具有一個問題,它在接受中文部份,只接受 Unicode 編碼的中文,不支援直接送 big5 給它。而且你要可以秀出正確的中文還需要有中文字型,這時後的中文字型就不能是一般我們 windows 系統上的 big5 編碼的中文字型,因為你是用 Unicode 編碼送給它!

所以要實現在圖片置入中文的話,第一要有 Unicode 編碼的中文字型,第二要把 big5 中文字轉成 unicode 編碼。

我在兩個網站下載到 unicode 編碼的中文字型
http://www.info.gov.hk/digital21/chi/hkscs/download/ming_uni.ttf.gz
http://www.study-area.org/apt/firefly-font/fireflysung-1.3.0.tar.gz
真是太感謝他們了!

有了中文字型之後,接下來就是字型編碼的轉換了!
perl 有提供一個工具 piconv 可以用來轉換 big5 to unicode 這實在是太棒了!萬事俱備了!
底下的範例,就是一個會產生含有中文字的圖檔! convert 還有很多驚人的功能,有興趣的人可以多加研究!

convert -pointsize 72 -fill white -font fireflysung.ttf -size 500x200 xc:black -draw "text +20+100 '`piconv -f big5 -t utf8 -s '中國'`'" chinese.jpg

http://www.imagemagick.org/ ImageMagick 官網
http://www.imagemagick.org/script/convert.php convert 工具說明



written by 東海大野狼

2 意見:

Kenneth_YITA 提到...

你好,可否請問一下要怎麼指定字型?
Thanks you!!

my mail: yita.wu@gmail.com

harry 提到...

thanks for providing this useful infomation!