如何将非抗锯齿字体渲染到内部图像?

2 投票
2 回答
5109 浏览
提问于 2025-04-16 16:11

用Python把不带抗锯齿的字体(比如.ttf字体)快速而准确地渲染到内部图像(比如PIL.Image)的最佳方法是什么?我说准确是因为我之前用pygame试过,结果渲染出来的字体和我在Word或Paint中看到的字体大小不一样。

2 个回答

9

Python图像库(PIL)可以把文字渲染到图片上——我觉得它的效果应该是准确的,不过我还没有完全测试过...

这是一个已有问题的例子:

from PIL import Image
from PIL import ImageFont, ImageDraw

image = Image.new("RGBA", (288,432), (255,255,255))
usr_font = ImageFont.truetype("resources/HelveticaNeueLight.ttf", 25)
d_usr = ImageDraw.Draw(image)
d_usr.fontmode = "1" # this apparently sets (anti)aliasing.  See link below.
d_usr.text((105,280), "MYTEXT",(0,0,0), font=usr_font)

另外,您可以查看:

http://www.pythonware.com/products/pil/

http://mail.python.org/pipermail/image-sig/2005-August/003497.html

Python图像库 - 文字渲染

撰写回答