第 13章包含了一个实践项目,利用纯文本文件的客人名单,创建定制的邀请函。 作为附加项目,请使用 Pillow 模块,为客人创建定制的座位卡图像。为了确保每个座位卡大小相同,在图像的边缘添加一个黑色的矩形,这样在图 像打印出来时,可以沿线剪裁。Pillow 生成的 PNG 文件被设置为每英寸 72 个像素, 因此 4×5 英寸的卡片需要 288×360 像素的图像。
from PIL import ImageDraw#导入模块
from PIL import Image,ImageFont
import os
gusetsfile=open('xxx','r')#打开客人名单,xxx为名单路径
guestnames=gusetsfile.readlines()
guestsfile.close()
image1=Image.open('xxx')#xxx为图片路径
arialfont=ImageFont.truetype('xxx',32)#创建Font对象,xxx为你的字体路径
for i in range(len(guestnames)):#把名字添加到图片上
image2=image1.copy().resize((288,360))
draw=ImageDraw.Draw(image2)
draw.line([(0,0),(287,0),(287,359),(0,359),(0,0)],fill='black')
draw.text((10,300),guestnames[i].rstrip(),fill='black',font=arialfont)#(10,300)里面是座标,可以自己改
image2.save(os.path.join('xxx',guestnames[i].rstrip()+'.png'))#xxx为保存路径,如E:\