# -*- coding: utf-8 -*-
from PIL import Image,ImageDraw,ImageFont
msg = u'我生气了,\n\n真的生气了,\n\n算了算了,\n\n真的真的没生气'
定义文字,为unicode的编码类型
font_size = 48#设置字体大小
fill = (0,0,0,255)
image_file = Image.open(r'G:\work\新建文件夹\example.jpg')#打开原图片
im_w,im_h = image_file.size#获取原图片的宽和高
im0 = Image.new('RGBA',(1,1))#创建一个image对象
dw0 = ImageDraw.Draw(im0)#创建一个绘制对象
font = ImageFont.truetype(r'G:\work\新建文件夹\simsun.ttc',font_size,encoding='utf-8')#获取字体库链接,设置编码方式
fn_w,fn_h = dw0.textsize(msg,font=font)#得到文字变成图像后的大小
im = Image.new('RGBA',(fn_w,fn_h),(255,0,0,0))
dw = ImageDraw.Draw(im)
dw.text((0,0),msg,font=font,fill=fill)#绘制文字
image_file.paste(im,(30,50),im)#在把只有文字图片的im黏贴到原图上
image_file = image_file.resize((180,180))#转换图片大小为180*180
image_file.show()
image_file.save('G:\work\新建文件夹\output2.jpg')
PIL的官方文档:http://effbot.org/imagingbook/,百度上的中文文档翻译不全。
RGBA是指4×8位像素,真彩+透明通道。