如何用imagemagick在图片上写中文?在帮助文档中找到的最简单的例子:
convert -background lightblue -fill blue \
-font SimSun -pointsize 48 label:@chinese_words.utf8 \
label_utf8.gif
需要把中文或多字节文字以utf-8编码写在chinese_words.utf8中,就可以用convert命令在图片上画出中文来。也可以直接在命令行中写中文,但是必须是utf-8编码,如:
convert -background lightblue -fill blue \
-font SimSun -pointsize 48 label:’某人的栖息地’ \
label_utf8.gif
最后还要注意的是,-font参数后面必须是中文字体,可以是中文字体文件的绝对路径。
个人实验通过:
1、/usr/bin/convert -font /www/client/webps/simsun.ttc -fill Black -draw 'text 20,29 "'`echo 中国人|iconv -f GB2312 -t UTF-8`'"' -fill White -draw 'text 30,39 "'`echo 中国人|iconv -f GB2312 -t UTF-8`'"' center.jpg logo.jpg
2、/usr/bin/convert -font /www/client/webps/simsun.ttc \
-fill white -pointsize 24 \
-draw 'text 10,20 "'`echo 我的照片|iconv -f GB2312 -t UTF-8`'"' \
mypic.jpg mypic-with-comment.jpg
imagemagick参考文档
http://www.imagemagick.org/Usage/text/
convert -background lightblue -fill blue \
-font SimSun -pointsize 48 label:@chinese_words.utf8 \
label_utf8.gif
需要把中文或多字节文字以utf-8编码写在chinese_words.utf8中,就可以用convert命令在图片上画出中文来。也可以直接在命令行中写中文,但是必须是utf-8编码,如:
convert -background lightblue -fill blue \
-font SimSun -pointsize 48 label:’某人的栖息地’ \
label_utf8.gif
最后还要注意的是,-font参数后面必须是中文字体,可以是中文字体文件的绝对路径。
个人实验通过:
1、/usr/bin/convert -font /www/client/webps/simsun.ttc -fill Black -draw 'text 20,29 "'`echo 中国人|iconv -f GB2312 -t UTF-8`'"' -fill White -draw 'text 30,39 "'`echo 中国人|iconv -f GB2312 -t UTF-8`'"' center.jpg logo.jpg
2、/usr/bin/convert -font /www/client/webps/simsun.ttc \
-fill white -pointsize 24 \
-draw 'text 10,20 "'`echo 我的照片|iconv -f GB2312 -t UTF-8`'"' \
mypic.jpg mypic-with-comment.jpg
imagemagick参考文档
http://www.imagemagick.org/Usage/text/