你可以使用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字节:
![Sentence rendered with X11 font 'fixed'.](https://istack.dev59.com/ZOc7K.webp)
获取独立框架字符(供后续组合使用)
您可以在上面的一行中放置一个字符,但是对多个字符进行独立应用会导致生成的图像大小和公共基线不再相同。
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