使用PIL使文本居中对齐/居中对齐? [英] Center-/middle-align text with PIL?

查看:173
本文介绍了使用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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆