Pillow

时间:2016-02-14 01:11:15

标签: python fonts pillow

我正在使用Pillow 3.1.1图像库和Python 3.5.1。

我试图使用Pillow在图像上绘制字体。但结果看起来非常丑陋和不可接受。

第一个例子:看起来像字体不是抗锯齿的。但是文档在别名字体上绝对没有任何内容。我试图做一些更改(例如设置fonttype),但文本看起来仍然很糟糕。 1st example

第二个例子。有时字符会相互叠加。而且我也不知道如何修复它。 2nd example

我对自己的经历非常沮丧。是否有可能在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()

1 个答案:

答案 0 :(得分:1)

根据martineau评论,Pillow不支持字体抗锯齿。