Python 如何将文本置于图像下方的中心?
我想做一个模因发生器。我的代码如下所示:Python 如何将文本置于图像下方的中心?,python,python-imaging-library,Python,Python Imaging Library,我想做一个模因发生器。我的代码如下所示: from PIL import Image, ImageDraw, ImageFont import os, random, datetime TEXT_FOR_MEMES = [ 'Отдохнули аче', 'Я бох а ты лох', 'Дада пугай мы же богатые', 'Именно поэтому донбасс может разволиться' ] os.chdir('
from PIL import Image, ImageDraw, ImageFont
import os, random, datetime
TEXT_FOR_MEMES = [
'Отдохнули аче',
'Я бох а ты лох',
'Дада пугай мы же богатые',
'Именно поэтому донбасс может разволиться'
]
os.chdir('direction.')
def make_a_meme():
im = Image.open('pics_for_memes\\' + random.choice(os.listdir('pics_for_memes'))) #opens a random picture
draw_text = ImageDraw.Draw(im)
font = ImageFont.truetype('Lobster.ttf', size=65)
width = im.width
height = im.height
draw_text.text(
(width / 2, height / 2),
random.choice(TEXT_FOR_MEMES),
fill=('#ffffff'),
font=font
)
#im.save('pics_for_memes\\test.jpg')
im.show()
make_a_meme()
但它总是把文本放在不同的地方。我知道为什么,所以我想问:如何找到屏幕中心的下方,并将文本正确地放在那个里?它从中心放置文本。谢谢大家! 这很有帮助
很抱歉这里的标签问题,洛洛姆!!非常感谢。我想这样做smth,但我不知道如何找出文本的长度:)然后将我的决定标记为正确,请我已经做了!:)
import os
import random
from PIL import Image, ImageDraw, ImageFont
def make_a_meme():
TEXT_FOR_MEMES = [
'Отдохнули аче',
'Я бох а ты лох',
'Дада пугай мы же богатые',
'Именно поэтому донбасс может разволиться'
]
os.chdir('direction.')
im = Image.open('pics_for_memes\\' + random.choice(os.listdir('pics_for_memes'))) # opens a random picture
draw_text = ImageDraw.Draw(im)
font = ImageFont.truetype('Lobster.ttf', size=65)
width = im.width
height = im.height
text = random.choice(TEXT_FOR_MEMES)
text_size = draw_text.textlength(text, font=font)
draw_text.text(
((width / 2) - (text_size / 2), height / 2),
text,
fill='#ffffff',
font=font
)
# im.save('pics_for_memes\\test.jpg')
im.show()
make_a_meme()