转载  python pillow 给gif 图片添加水印

分类:python 2021-07-22T23:19:41    169人阅读   

安装依赖

pip install pillow

字体文件下载地址:

https://yy123.ink/itResDetail/76

源码示例

"""
   给动态的gif图片加文字水印。
   本人用这个图片一下了给成千上万的gif图都加上了自己的文字水印。
   
"""
import os
from random import choice
from PIL import Image,ImageFont,ImageDraw,ImageSequence

_colors = ['red','orange','yellow','green','cyan','blue','white']

def watermark_on_gif(in_gif,out_gif,text='scratch8'):
    """本函数给gif动图加水印"""
    frames = []
    myfont = ImageFont.truetype("msyh.ttf", 12)
    im = Image.open(in_gif)
    water_im = Image.new("RGBA", im.size)
    draw = ImageDraw.Draw(water_im)     
    width,height = water_im.width,water_im.height
    fontsize = draw.textsize(text,font = myfont) # 文字的宽度和高度
    #draw.text(( width//2-fontsize[0]//2, height-fontsize[1]*4), text, font=myfont,fill='gray')
    draw.text(( 10, 10), text, font=myfont,fill=choice(_colors))
           
    water_mask = water_im.convert("L").point(lambda x: min(x, 160))
    water_im.putalpha(water_mask) 

    #print(im.info)
    index = 0
    for frame in ImageSequence.Iterator(im):             # 迭代每一帧
        frame = frame.convert("RGBA")
        #frame = Image.alpha_composite(frame,water_im)
        frame.paste(water_im,None,water_mask)
        frames.append(frame)
    newgif = frames[0]
    newgif.save(out_gif, save_all=True,append_images=frames[1:], quality=85,duration=100)
    im.close()

if __name__ == "__main__":

    counter = 0
    path = os.getcwd() + os.sep + '下载的gif_水印'
    for file in os.listdir(path):
        infile = path + os.sep + file
        outfile = path + os.sep + '__' + file
        try:
            watermark_on_gif(infile,outfile)
            counter += 1
            print(infile,'成功加水印')
        except:
            pass
    print('共加水印',counter)


支付宝打赏 微信打赏

如果文章对你有帮助,欢迎点击上方按钮打赏作者

服务器费用不足...

INSPINIA - 响应CRM后台模板 附加前端单页滚动模板

3套CRM,CMS,etc系统后台模板 bootstrap数据管理页面 - Adminto v1.5

响应式图文博客网站HTML模板

手机端邀请好友统计页面

2048小游戏html代码

5套响应式大型在线商城HTML5模板_各行业电商模板HTML框架 - MyStore

layui房产物业管理系统OA模板

新闻列表jquery.SuperSlide整体切换

挂号预约手机端页面Vue代码

仿微信聊天主界面html

Bootstrap电商系统管理模板_换肤HTML5后台系统UI框架 - AdminDesigns1.5

jquery顶部导航浮动二级菜单

jquery产品介绍列表切换

微信助力活动模板 bootstrap框架手机网页模板

layui后台HTML框架管理系统模板

仿天猫购物详情页h5页面

网上书店HTML模板_Bootstrap网上书城电商HTML5模板 - BookStore

手机短信验证码注册H5页面

unicorn后台管理模版

svg旋转动画loading特效

服务器费用不足...
 工具推荐 更多»