吾八哥我近日想给一个文件夹内的所有图片加上水印,第一时间就是想到要用Python来实现这个功能,有想法了就开始借助搜索引擎查阅相关的资料,现在整理具体代码如下,这里使用的是Pillow库。
安装Pillow库
使用pip install Pillow命令很方便的完成该库的安装
实现添加图片水印
# WebSite: from PIL import Image, ImageDraw, ImageFont def addImageWatermark(srcfile, desfile, logofile): img = Image.open(srcfile) logo = Image.open(logofile) layer = Image.new('RGBA', img.size, (0, 0, 0, 0)) layer.paste(logo, (img.size[0] - logo.size[0], img.size[1] - logo.size[1])) out = Image.composite(layer, img, layer) out.save(desfile) addImageWatermark('C:/Users/MyTest/Pictures/test1.jpg', 'C:/Users/MyTest/Pictures/test1_1.jpg', 'C:/Users/MyTest/Pictures/logo.png')
添加后的效果:
实现添加文字水印
from PIL import Image, ImageDraw, ImageFont def addTextWatermark(srcfile, desfile, logoText): img = Image.open(srcfile) font = ImageFont.truetype('C:\WINDOWS\Fonts\BuxtonSketch.ttf', 36) textsize = font.getsize(logoText) draw = ImageDraw.Draw(img) draw.text((img.size[0] - textsize[0], img.size[1] - textsize[1]), logoText, (255, 0, 0), font=font) draw = ImageDraw.Draw(img) img.save(desfile) addTextWatermark('C:/Users/MyTest/Pictures/test1.jpg', 'C:/Users/MyTest/Pictures/test1_1.jpg', 'www.5bug.wang')
添加后的效果为:
再稍作改动即可实现针对某个文件夹内的所有图片批量添加水印了!
发表评论