【Python】pillow库学习笔记4-利用ImageDraw和ImageFont在图像上添加文字

部分内容摘自C语言中文网:https://c.biancheng.net/pillow/add-watermark.html

4.ImageDraw

ImageDraw 模块提供了一系列的绘图方法,通过该模块可以创建一个新的图形,或者在现有的图像上再绘制一个图形,从而起到对原图注释和修饰的作用。

draw = ImageDraw.Draw(im)

上述方法会返回一个 ImageDraw 对象,参数 im 表示 Image 对象。
ImageDraw常用方法:

方法说明
text在图像上绘制文字
line绘制直线、线段
eclipse绘制椭圆形
rectangle绘制矩形
polygon绘制多边形

例:在图像上绘制矩形

from PIL import Image,ImageDraw

#im = Image.new('RGB',(200,200),color='gray')#创建 Image 对象,当做背景图
im = Image.open('村庄2.jfif')#打开已有图片
#创建 ImageDraw 对象
draw = ImageDraw.Draw(im)
#以左上角为原点,绘制矩形。元组坐标序列表示矩形的位置、大小;fill设置填充色为红色,outline设置边框线为黑色
draw.rectangle((1340,1040,1470,1140),fill=None,outline=(255,0,0))
#查看原图片
im.show()
#保存图片
im.save("添加矩形图.png")

蓝色屋顶处添加了红色矩形框,没有设置填充颜色。
在这里插入图片描述

5.ImageFont

ImagreFont 模块通过加载不同格式的字体文件,从而在图像上绘制出不同类型的文字,比如 TrueType 和 OpenType 类型的字体。

创建字体对象的语法格式如下:

font = ImageFont.truetype(font='字体文件路径', size=字体大小)

如果想要在图片上添加文本,还需要使用 ImageDraw.text() 方法,语法格式如下:

d.text((x,y), "text", font, fill)

参数说明如下:
(x,y):图像左上角为坐标原点,(x,y) 表示添加文本的起始坐标位置;
text:字符串格式,要添加的文本内容;
font:ImageFont 对象;
fill:文本填充颜色。

例:添加文字说明

from PIL import Image,ImageFilter,ImageFont,ImageDraw

im = Image.open('村庄2.jfif')

font=ImageFont.truetype('C:/Windows/Fonts/simhei.ttf',size=72) #加载本地字体,黑体,72
om1 = im.filter(ImageFilter.GaussianBlur(3))#高斯模糊
draw = ImageDraw.Draw(om1)#创建画布对象
#在原图像上添加文本
draw.text(xy=(80,50),text='GaussianBlur高斯模糊',fill=(255,0,0),font=font)

om1.save('p//aGaussianBlur.jpg')

运行结果
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值