因为举办活动,想定制一下带有词语的卡片,需要实现的功能:
1)同时输入多个词语
2)可以更改图片的规格,词语的大小和位置,颜色等
于是自己写了一个小的Python程序实现,在这里保存并且分享一下
from PIL import Image, ImageDraw, ImageFont
# 获取用户输入的词语列表
words = input("请输入词语,以空格分隔:").split()
# 设置图片尺寸
width, height = 860, 540
# 创建图片并设置背景颜色为白色
for idx, word in enumerate(words):
# 创建白色背景图片
image = Image.new('RGB', (width, height), 'white')
draw = ImageDraw.Draw(image)
# 使用PIL内置字体(也可以指定其他字体文件)
font = ImageFont.truetype("simkai.ttf", 80)
# 计算文字宽度和高度
text_width, text_height = font.getsize(word)
# 计算文字位置,使其居中显示在图片中间偏移一定距离(这个x,y可以调整)
x = (width - text_width) // 2
y = (height - text_height) // 2
# 在图片上添加文本(黑色)
draw.text((x, y), word, fill='black', font=font)
# 保存图片到本地
image.save(f'output_image_{idx + 1}.png')
print(f'图片 {idx + 1} 已保存')
print('所有图片已保存到本地。')
效果图如下: