Python使用Pillow添加水印
作者:chenXin@Euler 发布时间:2021-01-28 08:30:50
标签:python,Pillow,水印
本文实例为大家分享了Python使用Pillow添加水印的具体代码,供大家参考,具体内容如下
python数据分析得到的图片,并对照片添加水印pillow
PIL包含在pillow中,所以如果要从PIL导入相关库需要安装pillow
# install
pip install pillow
安装完之后就可以下面的头文件来操作了
from PIL import Image, ImageDraw
采用函数式编程:
#!/usr/bin/python
from PIL import Image, ImageDraw
from matplotlib import pyplot as plt, font_manager
# 保存通过数据分析得到的图片
def save_img():
# mac系统下查询包含中文字体的方式是命令fc-list :lang=zh
my_font = font_manager.FontProperties( fname="/System/Library/Assets/com_apple_MobileAsset_Font5/b2d7b382c0fbaa5777103242eb048983c40fb807.asset/AssetData/Kaiti.ttc")
x = [i for i in range(11, 31)]
y_1 = [1, 0, 1, 1, 2, 4, 3, 2, 3, 4, 4, 5, 6, 5, 4, 3, 3, 1, 1, 1]
y_2 = [0, 0, 0, 1, 2, 4, 3, 2, 3, 4, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1]
# 做出两个图,分别包括的是自己和同桌的每个年龄点交的女朋友数量
plt.plot(x, y_1, label="自己", color="cyan", linestyle="--")
plt.plot(x, y_2, label="同桌", color="r")
_xtick_labels = ["{}岁".format(i) for i in x]
plt.title("每年交的女朋友的数量走势图", fontproperties=my_font)
# 给x轴添加刻度
plt.xticks(x, _xtick_labels, fontproperties=my_font, rotation=45)
# 给y轴添加刻度
plt.yticks(range(min(y_1), max(y_1) + 1))
# 给xy轴添加说明
plt.xlabel("年龄", fontproperties=my_font)
plt.ylabel("数量", fontproperties=my_font)
# 做出网格更加直观看出坐标点值
plt.grid(alpha=0.4, linestyle=":")
# 添加图例
plt.legend(prop=my_font)
plt.savefig("./girl.png")
plt.show()
# 对保存的图片进行添加
def add_watermark(a):
im = Image.open(a)
draw = ImageDraw.Draw(im)
# 这里的hello world是添加的水印
# 数组(50,50)表示的是水印要添加的位置
draw.text((50, 50), 'hello world'.encode('utf-8'), fill=(1, 0, 0))
im.show()
if __name__ == '__main__':
save_img()
add_watermark("girl.png")
代码输出的结果:
注意hello world 就是添加的水印
来源:https://blog.csdn.net/lc574260570/article/details/104208033
0
投稿
猜你喜欢
- 本篇博文主要讲解Python爬虫实例,重点包括爬虫技术架构,组成爬虫的关键模块:URL管理器、HTML下载器和HTML解析器。爬虫简单架构程
- 学了面向对象三大特性继承,多态,封装。今天我们看看面向对象的一些进阶内容,反射和一些类的内置函数。一、isinstance和issubcla
- 一、概述在后期渗透测试中,经常会遇到需要向第三方发送http请求的场景,python中的requests库可以很好的满足这一要求,Reque
- Python 操作文件编程语言对文件系统的操作是一项必不可少的功能,各种编程语言基本上都有对文件系统的操作,最简洁的莫过于linux里面sh
- 简单的合并,本例是横向合并,纵向合并可以自行调整。import xlrd import xlwtimport shutil from xlu
- python默认使用的是国外镜像,有时候下载非常慢,最快的办法就是在下载命令中增加国内源:常用的国内源如下:清华大学:https://pyp
- 第一种,在方法后面加问号,然后执行,如 abs?第二种,光标移动到方法上面,按shift+tab,弹出文档,连续按选择文档详细程度补充知识:
- input() 的用法Python3.x 中input() 函数接受一个标准输入数据,返回为 string 类型。python3将input
- 年前接到QCon的邀请,颇感意外。在我的印象里,QCon大会是后端开发工程师和架构师的技术大会。后来去QCon大会的官网搜索了下,发现原来Q
- 名片管理系统有两个模块组成:cards_main.py 和 cards_tools.py一个是主程序,另一个是封装增删改查函数的被调用程序代
- 在许多用SQL Server实现的新的企业系统设计中,系统设计师需要在给数据结构和管理应用程序逻辑的定位上做出具有关键性意义的决定。SQL
- 一.权限表mysql数据库中的3个权限表:user 、db、 host权限表的存取过程是:1)先从user表中的host、 user、 pa
- 0.环境需要1.准备Linux环境(系统:CentOS7)2.准备MySQL安装包(版本:8.0.20)3.安装方式为:msyql解压安装1
- 目前是把图片存在mongodb数据库,实现一个方法,比如 访问 /get_pic/ID 能实现图片在浏览器打开,添加了一个状态,比如?fil
- 【题目】keras中的Merge层(实现层的相加、相减、相乘)详情请参考:Merge层一、层相加keras.layers.Add()添加输入
- 本文讲述了python安装mysql-python的方法。分享给大家供大家参考,具体如下:ubuntu 系统下进行的操作首先安装了pip工具
- 周末在家,儿子闹着要玩游戏,让玩吧,不利于健康,不让玩吧,扛不住他折腾,于是想,不如一起搞个小游戏玩玩!之前给他编过猜数字 和 掷骰子 游戏
- 需求背景假设我们想设计一个定时任务,比如每天定时的用python来测试服务是否在正常运行,但是又不希望每天登录到系统后台去查看服务状态。这里
- 将dataframe中的NaN替换成希望的值import pandas as pddf1 = pd.DataFrame([{'col
- #测试网址: http://localhost/blog/testurl.php?id=5 //获取域名或主机地址 echo $_SERVE