Нарисуйте подчеркнутый текст с помощью PIL - PullRequest
1 голос
/ 15 января 2012

Есть сообщение, связанное с полужирным шрифтом / курсивом: Выделить жирным шрифтом / курсивом PIL?

Однако как нарисовать подчеркнутый текст с помощью PIL?

1 Ответ

4 голосов
/ 15 января 2012

Похоже, что нет стандартного способа сделать это, но вы всегда можете реализовать его.

Возможное решение:

import Image
import ImageDraw
import ImageFont

def draw_underlined_text(draw, pos, text, font, **options):    
    twidth, theight = draw.textsize(text, font=font)
    lx, ly = pos[0], pos[1] + theight
    draw.text(pos, text, font=font, **options)
    draw.line((lx, ly, lx + twidth, ly), **options)

im = Image.new('RGB', (400, 400), (255,)*3)
draw = ImageDraw.Draw(im)
font = ImageFont.truetype("arial.ttf", 50)

draw_underlined_text(draw, (50, 150), 'Hello PIL!', font, fill=0)
draw_underlined_text(draw, (50, 300), 'Test', font, fill=128)

im.show()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...