使用PIL使文本居中对齐/居中对齐? [英] Center-/middle-align text with PIL?
本文介绍了使用PIL使文本居中对齐/居中对齐?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
使用PIL时,如何使文本居中对齐(和中间垂直对齐)?
How would I center-align (and middle-vertical-align) text when using PIL?
推荐答案
使用 Draw.textsize
方法来计算文本大小并相应地重新计算位置.
Use Draw.textsize
method to calculate text size and re-calculate position accordingly.
这里是一个例子:
from PIL import Image, ImageDraw
W, H = (300,200)
msg = "hello"
im = Image.new("RGBA",(W,H),"yellow")
draw = ImageDraw.Draw(im)
w, h = draw.textsize(msg)
draw.text(((W-w)/2,(H-h)/2), msg, fill="black")
im.save("hello.png", "PNG")
和结果:
如果您的字体大小不同,请包括以下字体:
If your fontsize is different, include the font like this:
myFont = ImageFont.truetype("my-font.ttf", 16)
draw.textsize(msg, font=myFont)
这篇关于使用PIL使文本居中对齐/居中对齐?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文