Python使用Pillow添加水印

 更新时间:2022年05月07日 08:22:17   作者:chenXin@Euler  
这篇文章主要为大家详细介绍了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 就是添加的水印

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • Python中subprocess模块的用法详解

    Python中subprocess模块的用法详解

    这篇文章主要介绍了Python中subprocess模块的用法详解,subprocess是Python 2.4中新增的一个模块,它允许你生成新的进程,连接到它们的 input/output/error 管道,并获取它们的返回状态码,这个模块的目的在于替换几个旧的模块和方法,需要的朋友可以参考下
    2023-08-08
  • python的XIsxWriter操作Excel示例详解

    python的XIsxWriter操作Excel示例详解

    这篇文章主要介绍了python的XIsxWriter操作Excel示例详解,xlsxwriter是一个专门用于创建、写入和操作Excel文件的Python模块,它提供了丰富的功能和选项,能够创建复杂的Excel文档,需要的朋友可以参考下
    2023-09-09
  • 利用Python开发一个自动答题程序

    利用Python开发一个自动答题程序

    这篇文章主要为大家详细介绍了如何利用Python开发一个自动答题程序,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起了解一下
    2023-02-02
  • 详解Tensorflow不同版本要求与CUDA及CUDNN版本对应关系

    详解Tensorflow不同版本要求与CUDA及CUDNN版本对应关系

    这篇文章主要介绍了详解Tensorflow不同版本要求与CUDA及CUDNN版本对应关系,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-08-08
  • Ubuntu20.04环境安装tensorflow2的方法步骤

    Ubuntu20.04环境安装tensorflow2的方法步骤

    这篇文章主要介绍了Ubuntu20.04环境安装tensorflow2的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-01-01
  • python3 中文乱码与默认编码格式设定方法

    python3 中文乱码与默认编码格式设定方法

    今天小编就为大家分享一篇python3 中文乱码与默认编码格式设定方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-10-10
  • python正则表达式修复网站文章字体不统一的解决方法

    python正则表达式修复网站文章字体不统一的解决方法

    python正则表达式修复网站文章字体不统一的解决方法,需要的朋友可以参考一下
    2013-02-02
  • python常见运算符及用法小结

    python常见运算符及用法小结

    python中的运算符主要包括算术运算符,关系(比较)运算符,赋值运算符,逻辑运算符,成员运算符,身份运算符,三目运算符。使用运算符将不同类型的数据按照一定的规则连接起来的式子,称为表达式。下面将介绍一些常用的运算符
    2022-08-08
  • python计算导数并绘图的实例

    python计算导数并绘图的实例

    今天小编就为大家分享一篇python计算导数并绘图的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-02-02
  • python通过微信发送邮件实现电脑关机

    python通过微信发送邮件实现电脑关机

    这篇文章主要为大家详细介绍了python通过微信发送邮件实现电脑关机,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-06-06

最新评论