用Python实现给图片加水印的功能

原创 小才子  2019-08-06 15:40:35  阅读 1090 次 评论 0 条
摘要:

吾八哥我近日想给一个文件夹内的所有图片加上水印,第一时间就是想到要用Python来实现这个功能,有想法了就开始借助搜索引擎查阅相关的资料,现在整理具体代码如下,这里使用的是Pillow库。安装Pillow库使用pip install Pillow命令很方便的完成该库的安装实现添加图片水印 # WebSite:  from PIL import Image, ImageDraw, ImageFont de

吾八哥我近日想给一个文件夹内的所有图片加上水印,第一时间就是想到要用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')

添加后的效果:

test1_1.jpg

实现添加文字水印

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')

添加后的效果为:

test1_1-1.jpg

再稍作改动即可实现针对某个文件夹内的所有图片批量添加水印了!


本文地址:http://diyfox.com/article/55.html
版权声明:本文为原创文章,版权归 小才子 所有,欢迎分享本文,转载请保留出处!

发表评论


表情

还没有留言,还不快点抢沙发?