学习笔记(番外篇)——python的PIL模块操作图文黏贴操作

# -*- 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位像素,真彩+透明通道。

220612_SQUO_3629884.png

转载于:https://my.oschina.net/u/3629884/blog/1518292

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值