首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Python PIL ->使长文本居中

Python PIL ->使长文本居中
EN

Stack Overflow用户
提问于 2017-07-18 06:39:20
回答 1查看 1.4K关注 0票数 2

所以我试着用Python把一些文本放在图像上。

我希望我的文本位于图像的中心,无论文本有多长。我已经设法做到了这一点。

下面是我的代码:

代码语言:javascript
复制
from PIL import Image, ImageDraw, ImageFont
import textwrap

astr = '''The rain in Spain falls mainly on\n the plains. but what if I add some\n more text to this image###################\n##################################?\nThe rain in Spain falls mainly on\n the plains. but what if I add some\n more text to this image###################\n##################################?'''

im = Image.open("source.jpg")
MAX_W, MAX_H = im.size
draw = ImageDraw.Draw(im)
font = ImageFont.truetype('font.otf', 28)

w, h = draw.textsize(astr, font=font)

draw.text(((MAX_W - w) / 2, (MAX_H - h) / 2),astr,(255,255,255),font=font)

im.save('test.png')

My problem?我也希望我的文本居中,我说的是你在Word或任何基本的文本编辑器中看到的居中。例如,文本可以居中居左、居中或居右。See this image.

EN

回答 1

Stack Overflow用户

发布于 2018-07-28 05:36:57

您对http://pillow.readthedocs.io/en/5.2.x/reference/ImageDraw.html#PIL.ImageDraw.PIL.ImageDraw.ImageDraw.text中的“align”参数很感兴趣-它可以是"left“、"center”或"right“。

代码语言:javascript
复制
draw.text(((MAX_W - w) / 2, (MAX_H - h) / 2),astr,(255,255,255),font=font,align="center")
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45154731

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档