zoukankan      html  css  js  c++  java
  • python批量给图片添加logo

    直接上代码

    from PIL import Image
    import os
    
    all_path=[]
    dirName = os.getcwd()
    file_dir = os.path.join(dirName,'file_log')
    
    #创建目录保存处理后的图片
    try:
        os.mkdir('file_log')
    except FileExistsError:
        print('dir Exists ')
    
    #获取当前目录下所有的jpeg格式文件路径
    for root, dirs, files in os.walk(dirName):
        for file in files:
            if "jpeg" in file:
                all_path.append(os.path.join(root, file))
    
    
    #打开logo图片文件
    LOGO_FILE = 'logo.png'
    logoIm = Image.open(LOGO_FILE)
    logoWith,logoHeight = logoIm.size
    
    #r,g,b,a =logoIm.split()
    
    for i in range(0,len(all_path)):
        imTmp = Image.open(all_path[i])
    
        #给图片的右下角添加log
        imWidth,imHeight = imTmp.size
        imTmp.paste(logoIm,(imWidth-logoWith,imHeight-logoHeight),logoIm)
    
        filename =str(i) + '.png'
        imTmp.save(os.path.join(file_dir,filename))

    效果如下,盗用我女神图像哈哈

      

    其中那个log日志是截图的,白框没有去掉。这样还要研究一下

    有一个方案如下,就是使得log透明

    具体代码如下:这个可以生成一个类似透明的log文件

    from PIL import ImageDraw
    im = Image.open('logo.png')
    mask=Image.new('L', im.size, color=transparent)
    draw=ImageDraw.Draw(mask)
    draw.rectangle(transparent_area, fill=0)
    im.putalpha(mask)
    im.save('image.png')

    用重新生成的log图片打的log 效果如下

  • 相关阅读:
    你真的知道什么是三观吗?
    iOS block 的两大常见用法
    微信小程序开发入门
    Linux 简介
    OC 的Runtime 消息转发机制
    关于 ES6 的 let ,var和 const
    python time,datetime
    python操作mysql(pymysql + sqlalchemy)
    python操作redis
    python操作memcached
  • 原文地址:https://www.cnblogs.com/asreg/p/6792342.html
Copyright © 2011-2022 走看看