PIL

2012-01-15 8 views

答えて

4

標準的な方法はないようですが、いつでも実装できます。

考えられる解決策:

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()