所以我试图用Python将一些文本放在图像上。
无论文本有多长,我都希望我的文字位于图像的中心。这个,我设法做到了。
这是我的代码:
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')
我的问题?我也想让我的文字居中,我正在谈论 您在Microsoft Word中看到的中心(例如)或任何基本的中心 文本编辑器。就像,文本可以居中左侧,中间, 或权利。 See this image.
答案 0 :(得分:0)
您对http://pillow.readthedocs.io/en/5.2.x/reference/ImageDraw.html#PIL.ImageDraw.PIL.ImageDraw.ImageDraw.text中的'align'参数感兴趣-它可以是“ left”,“ center”或“ right”。
draw.text(((MAX_W - w) / 2, (MAX_H - h) / 2),astr,(255,255,255),font=font,align="center")