我正在使用Pillow 3.1.1图像库和Python 3.5.1。
我尝试在图像上使用Pillow绘制字体,但结果看起来非常难看和不可接受。
第一个例子:看起来字体没有抗锯齿处理。但文档中完全没有关于字体抗锯齿的内容。我已经尝试了一些更改(例如设置fonttype
),但文字仍然看起来很糟糕。
第一个例子
第二个例子。有时字符会重叠在一起。我不知道该如何解决这个问题。 第二个例子
我对我的经验感到非常沮丧。在Pillow中是否有可能解决抗锯齿问题,还是我应该寻求ImageMagick的帮助?
抗锯齿问题是我最关心的问题,我无法使用这种方式渲染的字体。
谢谢您的关注!
代码示例:
from PIL import Image, ImageDraw, ImageFont
DEFAULT_OFFSET = (100, 160, )
def draw_text(image, text):
base = Image.open(image).convert('RGBA')
txt_image = Image.new('RGBA', base.size, (255, 255, 255, 0))
ttf = get_font()
fnt = ImageFont.truetype(ttf, 40)
d = ImageDraw.Draw(txt_image)
# just return some string in format 'blah-blah\nblah-blah'
multiline = generate_multiline(txt_image, text)
d.multiline_text(DEFAULT_OFFSET, multiline, align='left', font=fnt, fill=(40, 40, 40, 200))
out = Image.alpha_composite(base, txt_image)
out.show()