您可以使用 ImageMagick。
额外的好处:
- 可以渲染老式(固定)或TTF或其他字体
- 可以渲染到屏幕或图像文件(PNG,无论如何)
简单的
对于短文本
echo "The quick brown fox jumps over the lazy dog." \
| convert \
-font '-*-fixed-*-*-*-*-18-*-*-*-*-*-iso8859-*' \
TEXT:- -trim fox.png
渲染到屏幕:
echo "The quick brown fox jumps over the lazy dog." \
| convert \
-font '-*-fixed-*-*-*-*-18-*-*-*-*-*-iso8859-*' \
TEXT:- -trim MIFF:- | display MIFF:-
移除-trim
后可以看到 ImageMagick 使用画布进行绘制。
更多控制
- 画布的尺寸。为避免两步计算,请创建一个比所需更大的画布,然后对其进行修剪。
- 控制背景和前景色。
- 控制 PNG 参数(每像素一位)
convert -size 2000x20 xc:black \
-font '-*-fixed-*-*-*-*-18-*-*-*-*-*-iso8859-*' \
-fill white \
-draw "text 0,15 'The quick brown fox jumps over the lazy dog.'" \
-trim +dither -depth 1 fox.png
下面生成的图像重 592 字节:
获得独立构图的角色(用于以后的构图)
您可以只在上面一行中放置一个字符,但单独应用于多个字符会导致生成的图像不再具有相同的大小或相同的公共基线。
for CHAR in H e l o ' ' W r d
do
convert -size 9x13 xc:black \
-font '-*-fixed-*-*-*-*-18-*-*-*-*-*-iso8859-*' \
-fill white -stroke none \
-draw "text 0,10 '${CHAR}'" \
+dither -depth 2 fixed_char_${CHAR}.png
done
下面的命令会生成一个 PNG,显示单独加框的图像保持它们的共同对齐:
montage -mode concatenate -tile x1 fixed_char_H.png fixed_char_e.png \
fixed_char_l.png fixed_char_l.png fixed_char_o.png fixed_char_\ .png \
fixed_char_W.png fixed_char_o.png fixed_char_r.png fixed_char_l.png \
fixed_char_d.png helloworld.png