当前位置: 首页 > article >正文

【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')

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


http://www.kler.cn/a/611425.html

相关文章:

  • sqlite3数据库(文件)损坏恢复方法
  • 【论文分析】无人机轨迹规划,Fast-Planner:实时避障+全局最优的路径引导优化算法
  • 护网(蓝中)DNS面试题
  • 【蓝桥杯】真题 路径(数论+dp)
  • MATLAB 编写的函数或算法生成可供 C++ 调用的库或组件
  • 热门面试题第12天|Leetcode 226.翻转二叉树 101. 对称二叉树 104.二叉树的最大深度 111.二叉树的最小深度 (内含热门面试题)
  • 基于硅基流动平台API构建定制化AI服务的实践指南
  • 若依框架二次开发——若依集成 JSEncrypt 实现密码加密传输方式
  • Linux程序性能分析
  • CSS3学习教程,从入门到精通,CSS3 图像属性知识点及案例代码(16)
  • 自动化测试selenium(Java版)
  • 深度学习 Note.1
  • 使用Debezium采集Postgresql数据
  • Ubuntu 更换阿里云镜像源图文详细教程
  • Flink基础简介和安装部署
  • 2025.03.23【前沿工具】| CellPhoneDB:基因网络分析与可视化的利器
  • 计算机视觉的多模态模型:开启感知智能的新篇章
  • 《新华网》主流媒体理论论文发表注意事项,有稿费!
  • 施磊老师高级c++(七)
  • 分布式爬虫框架Scrapy-Redis实战指南