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 效果如下

  • 相关阅读:
    思路决定出路
    php-异常处理机制
    Win10 IoT 10 中文显示乱码或报错的问题
    Win10 IoT 9 Windows IoT Core扩展开发包
    Win10 IoT 8 GPIO输入输出
    Win10 IoT 7 10586版本的异同
    Win10 IoT 6 设置系统时间
    Win10 IoT 5 修改IP地址
    Win10 IoT 4 远程启动计划任务
    Win10 IoT 3 部署应用
  • 原文地址:https://www.cnblogs.com/asreg/p/6792342.html
Copyright © 2011-2022 走看看