使用Python中PIL库给图片添加文本水印

 更新时间:2023年04月20日 08:39:19   作者:空空star  
有时候我们需要添加一定的水印以给自己的图片添加先关的标记,在Python中有相关的计算函数,下面这篇文章主要给大家介绍了关于使用Python中PIL库给图片添加文本水印的相关资料,需要的朋友可以参考下

前言

大家好,本篇给大家分享一下通过Python的PIL库给图片添加文本水印。

一、PIL是什么?

PIL是Python Imaging Library的缩写,它是Python语言中常用的图像处理库之一。它提供了丰富的图像处理功能,包括打开、保存、裁剪、旋转、缩放等操作,并支持多种图像格式。

二、安装PIL

pip install pillow

三、查看PIL版本

pip show pillow

Name: Pillow
Version: 9.4.0
Summary: Python Imaging Library (Fork)
Home-page: https://python-pillow.org
Author: Alex Clark (PIL Fork Author)
Author-email: aclark@python-pillow.org
License: HPND
Requires:
Required-by: image, imageio, matplotlib, pytesseract, wordcloud

四、使用PIL库给图片添加文本水印

1.引入库

from PIL import Image, ImageDraw, ImageFont

2.打开图片文件

local = '/Users/kkstar/Downloads/video/pic/'
image = Image.open(local+"demo.jpg")

3.新建一个Draw对象

draw = ImageDraw.Draw(image)

4.设置水印文字、字体、大小

text = '@空空star'
font = ImageFont.truetype('STHeitiMedium.ttc', size=80)

5.设置水印颜色

5.1通过名称设置颜色

# 通过名称设置颜色-黄色
color = 'yellow'

5.2通过RGB值设置颜色

# 通过RGB值设置颜色-红色
color = (255, 0, 0)

5.3通过RGBA值设置颜色

# 通过RGBA值设置颜色-白色
color = (255,255,255,0)

5.4通过十六进制设置颜色

# 通过十六进制设置颜色-绿色
color = '#6FE000'

6.获取水印文字的尺寸

text_width, text_height = draw.textsize(text, font)

7.设置水印位置

7.1左上

x = 30
y = 30

7.2右下

x = image.width-text_width-30
y = image.height-text_height-30

其他位置调整x、y的值即可。这个30是我这样设置的,你也可以根据自己的喜好来调整。

8.添加水印

draw.text((x, y), text, font=font, fill=color)

9.保存图片

image.save(local+'image_with_watermark.jpg')

总结

到此这篇关于使用Python中PIL库给图片添加文本水印的文章就介绍到这了,更多相关Python PIL库添加文本水印内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 用python写一个windows消息提醒小程序

    用python写一个windows消息提醒小程序

    上班时,由于自己经常coding到忘记时间,经常会一坐坐很久,搞的劳资腰都不好了,所以没事闲的写了个久坐提醒的小程序,文中有详细的代码示例,讲解的非常详细,感兴趣的朋友可以参考下
    2023-12-12
  • Python operator模块的使用详解

    Python operator模块的使用详解

    本文主要介绍了Python operator模块的使用详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧<BR>
    2023-06-06
  • pytorch中F.avg_pool1d()和F.avg_pool2d()的使用操作

    pytorch中F.avg_pool1d()和F.avg_pool2d()的使用操作

    这篇文章主要介绍了pytorch中F.avg_pool1d()和F.avg_pool2d()的使用操作,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-05-05
  • Python实现随机爬山算法

    Python实现随机爬山算法

    这篇文章主要介绍了Python实现随机爬山算法的方法,帮助大家更好的利用python进行机器学习,感兴趣的朋友可以了解下
    2021-01-01
  • Python 按字典dict的键排序,并取出相应的键值放于list中的实例

    Python 按字典dict的键排序,并取出相应的键值放于list中的实例

    今天小编就为大家分享一篇Python 按字典dict的键排序,并取出相应的键值放于list中的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-02-02
  • Pytorch maxpool的ceil_mode用法

    Pytorch maxpool的ceil_mode用法

    今天小编就为大家分享一篇Pytorch maxpool的ceil_mode用法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-02-02
  • 利用python将 Matplotlib 可视化插入到 Excel表格中

    利用python将 Matplotlib 可视化插入到 Excel表格中

    这篇文章主要介绍了利用python将 Matplotlib 可视化 插入到 Excel 表格中,通过使用xlwings模块来控制Excel插入图表,具体详细需要的朋友可以参考下面文章内容
    2022-06-06
  • python日期时间转为字符串或者格式化输出的实例

    python日期时间转为字符串或者格式化输出的实例

    今天小编就为大家分享一篇python日期时间转为字符串或者格式化输出的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-05-05
  • Python入门篇之列表和元组

    Python入门篇之列表和元组

    Python包含6种内建序列:列表、元组、字符串、Unicode字符串、buffer对象、xrange对象。本篇主要讨论最常用的两种类型:列表、元组
    2014-10-10
  • Python将文件映射到内存使用mmap.mmap()函数方式

    Python将文件映射到内存使用mmap.mmap()函数方式

    这篇文章主要介绍了Python将文件映射到内存使用mmap.mmap()函数方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-02-02

最新评论