【Python学习】趣味工具-图片加水印

一、实现内容

为了防止我们在朋友圈中发布的图片被盗用,我们为自己的图片添加一个水印,来证明这张图片属于自己,并将其保存在自己的电脑上。

二、实现步骤

2.1 安装模块

pillow模块是一个第三方图像处理模块,主要用于图像的基本处理,在命令行窗口中执行

pip install pillow  或者 pip3 install pillow 

若在自己电脑上安装不上或安装缓慢,可使用以下命令进行加速:

pip install pillow==9.1.0 -i https://pypi.mirrors.ustc.edu.cn/simple/

当看到Successfully installed...时,说明模块已经安装成功。

2.2 打开图片

使用pillow模块Image函数open()方法可以打开指定路径的图片

# 从PIL模块中导入Image类
from PIL import Image
# 使用Image类的open()方法打开图片,赋值给变量img
img = Image.open("/Users/yequ/team.png")

2.3 展示图片

使用Image类的show()方法,展示图片

# 从PIL模块中导入Image类
from PIL import Image
# 使用Image类的open()方法打开路径为D:\学习资料\Python\test\test01.jpg的图片,赋值给变量img
img = Image.open(r"D:\学习资料\Python\test\test01.jpg")
# 使用Image类的show()方法,展示图片
img.show()

 图片展示如下图:

2.4 加载字体

水印就是附着在图片上的一段文字。

因此,我们利用PIL模块给图片添加水印,主要解决下面两个问题:

处理文字的字体样式,就需要使用pillow模块中的ImageFont

通过ImageFont的truetype方法读取了字体。

# 从PIL模块中导入Image类
from PIL import ImageFont
# 使用Image类的open()方法打开路径为D:\学习资料\Python\test\test01.jpg的图片,赋值给变量img
img = Image.open(r"D:\学习资料\Python\test\test01.jpg")
# 使用Image类的show()方法,展示图片
# img.show()
# 使用ImageFont类的方法truetype读取字体,赋值给变量font
font = ImageFont.truetype(r"C:\Windows\Fonts\simkai.ttf", size=100)

2.5 绘制文字

当我们想要将文字附着在图片上时,还需要用到PIL模块中的类ImageDraw

ImageDraw类提供了一系列的绘图方法,而我们只需要用到在图片上绘制文字的功能。

# 从PIL模块中导入ImageDraw类
from PIL import ImageDraw
# 将图片img创建为临时画布,赋值给变量draw
draw = ImageDraw.Draw(img)
# 在临时画布draw上,绘制文字信息
draw.text(xy=(360,420),text="@防盗水印",fill="white",font=font)

2.6 保存图片

通过以上的代码,我们成功制作了一张包含水印的图片,并将其展示了出来。

当然,如果我们想要把制作好的图片保存在电脑的指定位置,就还需要用到save()方法。

# 将处理后的img保存到路径D:\学习资料\Python\test\test02.jpg
img.save(r"D:\学习资料\Python\test\test02.jpg")

2.7 合并代码

# 从PIL模块中导入Image,ImageFont,ImageDraw类,多个类导入,类中间用逗号
from PIL import Image,ImageFont,ImageDraw

# 使用Image类的open()方法打开路径为D:\学习资料\Python\test\test01.jpg的图片,赋值给变量img
img = Image.open(r"D:\学习资料\Python\test\test01.jpg")

# 使用ImageFont类的方法truetype读取字体,赋值给变量font
font = ImageFont.truetype(r"C:\Windows\Fonts\simkai.ttf", size=100)

# 将图片img创建为临时画布,赋值给变量draw
draw = ImageDraw.Draw(img)
# 在临时画布draw上,绘制文字信息
draw.text(xy=(200,200),text="@防盗水印",fill="white",font=font)

# 将处理后的img保存到路径D:\学习资料\Python\test\test02.jpg
img.save(r"D:\学习资料\Python\test\test02.jpg")

# 使用Image类的show()方法,展示图片
# img.show()

执行结果如下 

三、总结

Pillow(Python Imaging Library,PIL)是一个Python图像处理库,它提供了广泛的功能,使您能够处理图像文件、进行图像编辑、生成图像等。以下是Pillow模块的一些主要功能:

  1. 打开和保存图像:Pillow支持打开和保存多种图像格式,如JPEG、PNG、BMP、GIF等。您可以使用Image.open()方法打开图像文件,然后使用Image.save()方法保存图像。

  2. 图像处理:Pillow提供了许多图像处理功能,如调整大小、旋转、裁剪、滤镜应用、颜色调整等。您可以对图像进行各种变换和处理操作。

  3. 图像绘制:Pillow允许您在图像上绘制各种形状、文本和图形。您可以使用ImageDraw模块来绘制线条、矩形、圆形以及在图像上添加文本。

  4. 图像增强:Pillow提供了一些图像增强的功能,如锐化、模糊、亮度调整、对比度调整等,帮助您改善图像质量或实现特定效果。

  5. 颜色操作:Pillow支持对图像的颜色进行操作,包括颜色通道的分离、合并,以及颜色空间的转换。

  6. 图像合成:Pillow允许您将多个图像合成为一个新的图像,或者将图像叠加合成,实现复杂的图像合成效果。

  7. 文本处理:除了绘制文本,Pillow还提供了对文本进行布局、样式设置等功能,帮助您在图像上添加自定义文本。

  8. 图像信息:Pillow可以提取图像的各种信息,如尺寸、格式、元数据等,帮助您了解和操作图像文件。

Pillow是一个功能强大且易于使用的图像处理库,适用于各种图像处理需求,从简单的图像操作到复杂的图像处理和合成。如果您有特定的图像处理需求或者想要实现特定的图像效果,Pillow通常是一个很好的选择。

  • 22
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

西攻城狮北

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值