前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >使用python实现图片增加水印

使用python实现图片增加水印

作者头像
py3study
发布2020-12-09 10:10:58
发布2020-12-09 10:10:58
74000
代码可运行
举报
文章被收录于专栏:python3python3
运行总次数:0
代码可运行

处于某些业务需求需要对一些特定的图片增加水印,于是去了解了PIL这个库,可以完美的解决这个问题

实现效果如下

安装模块

代码语言:javascript
代码运行次数:0
运行
复制
pip3 install pillow

具体代码如下

代码语言:javascript
代码运行次数:0
运行
复制
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")

代码很简单,下面具体讲讲上面每个方法的使用以及参数的意义:

代码语言:javascript
代码运行次数:0
运行
复制
from PIL import Image, ImageDraw, ImageFont # 从PIL中导包

imageFile :需要添加文字的图片地址(可以是相对地址也可以是绝对地址) imageInfo = Image.open(imageFile):使用image.open()打开图像

代码语言:javascript
代码运行次数:0
运行
复制
fontOne = ImageFont.truetype("‪C:\Windows\Fonts\simfang.ttf", 100) # 水印使用系统字体
fontTwo = ImageFont.truetype("‪C:\Windows\Fonts\simfang.ttf", 100) # 水印使用系统字体

使用 draw = ImageDraw.Draw(imageInfo)实例化一个可写对象

代码语言:javascript
代码运行次数:0
运行
复制
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: 水印使用的自已
代码语言:javascript
代码运行次数:0
运行
复制
imageInfo.show(): 预览图片
imageInfo.save(r"./image/target01.JPG"):保存加入水印的图片

更多关于PIL库的使用参照PIL的用法

本文参考链接:

https://blog.csdn.net/danieljackz/article/details/94999416

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020/12/08 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档