Python给美女壁纸加水印 | 文末乔迁福利

点击上方 Python知识圈,选择“设为星标”

回复“1024”获取编程资料

阅读文本大概需要 5 分钟。

上周,pk 哥公众号留言功能开通啦,这么大的事情,福利是免不了的!福利在文末,想先看福利的可以直接滑到底。开心,公众号即将有留言功能了
经常写文章分享的小伙伴,会在各大平台发自己的原创文章,为了避免抄袭,让自己的原创文章得到更好的传播,我们需要对文章的图片加上水印。

有些平台可以选择是否对图片加水印,比如公众号平台。有些平台没有这个选择,比如自己搭建的网址,有些同学擅长 photoshop 之类的工具,可能会手动给图片加水印,作为一名合格的 pythoner,我们当然用 Python 来自动给图片加上水印了。

图片准备

这里我用之前写的文章 Python批量下载无版权图片 爬的图片,比如之前爬取的美女主题的图片,我放在了一个文件夹里,我们现在要把这个文件夹里的所有图片加上水印。

环境

环境:Mac OS、Python编辑器:Pycharm

安装导入

我们需要用到 Python 中处理图片的库 pillow,先用 pip 命令安装。

pip install pillow

或者

pip3 install pillow

导入相关的库。

from PIL import Image, ImageDraw, ImageFont
import os

文件处理

我们需要列出图片目录下所有的图片文件名,为下面处理这些图片做准备。

我们用到的是 os 模块里的 walk 方法,括号里面输入你要处理的图片的目录,我们用三个参数来接收 walk 方法返回的值。

for root, dirs, files in os.walk(file_dir):
  • root 所指的是当前正在遍历的这个文件夹的本身的地址

  • dirs 是一个 list ,内容是该文件夹中所有的目录的名字(不包括子目录)

  • files 同样是 list , 内容是该文件夹中所有的文件(不包括子目录)

这里,我只会用到 files,也就是目录下所有的图片文件名称,files 是个 list 列表,我们需要用 for 循环把它一个个遍历出来。再组合成每张图片的完整路径,最后用 pillow 里的 Image 方法依次打开图片,详细代码如下。

上面的图片目录我作为了参数,后面调用这个方法时,传入你需要处理的图片的目录就好了。

设置字体

我们设置的水印中一般会有中文,所以我们需要对字体进行设置。

Mac OS 系统和 Windows 系统对字体的设置有点差异。

设置中文字体时,最好使用字体对应英文名称。

Mac OS 系统常用中文字体:

华文细黑:STHeiti Light 华文黑体:STHeiti华文楷体:STKaiti华文宋体:STSong华文仿宋:STFangsong

Windows 系统常用中文字体:

黑体:SimHei宋体:SimSun新宋体:NSimSun仿宋:FangSong楷体:KaiTi仿宋_GB2312:FangSong_GB2312楷体_GB2312:KaiTi_GB2312微软正黑体:Microsoft JhengHei微软雅黑体:Microsoft YaHei

Mac OS 系统字体路径一般是 /System/Library/Fonts/,Windows 系统字体路径一般是 C:\Windows\Fonts,我们在字体里找到需要的字体,给出它的绝对路径,并设置字体的大小。详细代码如下:

添加水印

最后一步,就是添加水印, 因为每张图片的尺寸不一样,我们需要获取图片的尺寸,如果我们要在左下角添加水印,我的比例设置为:1/30*width, 9/10*height。

fill 参数指的是字体颜色的 RGB 值,我设置的是白色(255, 255, 255),其他颜色大家根据需要修改。

最后,给出图片目录,调用函数。

if __name__ == '__main__':
    file_dir = r'/Users/brucepk/Pictures/beautiful girl'
    text2pic(file_dir)

全部代码我上传到 GitHub 上了,公众号回复「水印」获取。

效果图

挑几张图给大家看下效果。

福利时间

送什么福利呢?简单粗暴,直接发红包,中奖者每人将收到 pk 哥私发的 20 元红包。

提高大家中奖率,过滤掉一批伸手党,本次活动规则如下:

1 、参与途径一:觉得本文对你有帮助的,请赞赏,金额随意,在赞赏区抽取 5 名幸运读者。2、参与途径二:在评论区留言,走心的说出 Python 知识圈公众号对你学习 Python 有什么帮助,需要改进的建议也可以说(不走心的不上墙哦),点赞前 5 名的中奖。3、开奖时间:18 日晚上 8 点,开奖将在留言区和 pk 哥的微信朋友圈公布。4、请中奖者 24 小时内联系我,我给你发红包,未联系者视为放弃,没加我微信可以加下:

听说两种途径同时参与中奖率更高哦。


 精彩推荐 

讲讲Python爬虫绕过登录的小技巧
推荐23个Python爬虫开源项目代码:爬取微信、淘宝、豆瓣、知乎、微博等
怎么写出让同事无法维护的代码

以梦为马,不负韶华

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值