使用python实现图片增加水印
处于某些业务需求需要对一些特定的图片增加水印,于是去了解了PIL这个库,可以完美的解决这个问题
实现效果如下
安装模块
pip3 install pillow
具体代码如下
from PIL import Image, ImageDraw, ImageFont imageFile = "./timg_3.jpg" imageInfo = Image.open(imageFile) fontOne = ImageFont.truetype("C:\Windows\Fonts\simfang.ttf", 100) fontTwo = ImageFont.truetype("C:\Windows\Fonts\simfang.ttf", 100) draw = ImageDraw.Draw(imageInfo) print(imageInfo.size) draw.text((imageInfo.size[0] / 2, imageInfo.size[1] / 2), u"这是一个测试图片", fill=(255, 0, 0), font=fontOne) draw.text((imageInfo.size[0] / 2, imageInfo.size[1] / 2 + 300), u"等会去看电影", fill=(134, 153, 153), font=fontOne) imageInfo.show() # imageInfo.save(r"./image/target01.JPG") print("success")
代码很简单,下面具体讲讲上面每个方法的使用以及参数的意义:
from PIL import Image, ImageDraw, ImageFont # 从PIL中导包
imageFile
:需要添加文字的图片地址(可以是相对地址也可以是绝对地址)imageInfo = Image.open(imageFile)
:使用image.open()
打开图像
fontOne = ImageFont.truetype("C:\Windows\Fonts\simfang.ttf", 100) # 水印使用系统字体 fontTwo = ImageFont.truetype("C:\Windows\Fonts\simfang.ttf", 100) # 水印使用系统字体
使用 draw = ImageDraw.Draw(imageInfo)
实例化一个可写对象
draw.text((imageInfo.size[0] / 2, imageInfo.size[1] / 2), u"这是一个测试图片", fill=(255, 0, 0), font=fontOne) # 水印加载的位置 draw.text((imageInfo.size[0] / 2, imageInfo.size[1] / 2 + 300), u"等会去看电影", fill=(134, 153, 153), font=fontOne)
draw.text()方法中的参数解析
-
xy: 表示文字写入图片中的位置(注意:这里的坐标需为一个元组)
-
text: 加到图片上的文字
-
fill: 水印文字的颜色(范围:0-255,0-255,0-255)
-
font: 水印使用的自已
imageInfo.show(): 预览图片 imageInfo.save(r"./image/target01.JPG"):保存加入水印的图片
更多关于PIL库的使用参照PIL的用法
本文参考链接:
https://blog.csdn.net/danieljackz/article/details/94999416
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
2019-12-02 docker搭建MediaWiki
2018-12-02 Kafka ACL使用实战(单机版)