Python版的迷你程序——简易的图片水印

        现在网络的图片基本都是带有水印的,也学一下怎么个添加,代码注释掉的都是调试过程的显示,感兴趣的可以打开瞅瞅,图片水印位置是固定在右下角的,代码的12-19行可以调整。

# -*- coding: utf-8 -*-
import os
import time
from PIL import Image

def watermark_photo(input_image_path,watermark_image_path,output_image_path):
    base_image = Image.open(input_image_path)
    watermark = Image.open(watermark_image_path).convert("RGBA")
    #base_image.show()     # 显示图片
    #watermark.show()      # 显示水印

    # 水印打在图片的位置 设置水印大小
    position = base_image.size
    newsize = (int(position[0]*8/100),int(position[0]*8/100))
    new_position = position[0]-newsize[0]-20, position[1]-newsize[1]-20
    print(position)
    print(new_position)
    print(newsize)
    watermark = watermark.resize(newsize)
    
    # 做一个透明的底片 大小同图片
    transparent = Image.new(mode='RGBA', size=position, color=(0,0,0,0))
    #transparent.show()     # 显示
    
    # 向底片添加图片
    transparent.paste(base_image, (0,0))
    #transparent.show()     # 显示
    # 向底片添加水印
    transparent.paste(watermark, new_position, watermark)
    #transparent.show()     # 显示
    
    image_mode = base_image.mode
    if image_mode == 'RGB':
        transparent = transparent.convert(image_mode)
    else:
        transparent = transparent.convert('P')
    transparent.save(output_image_path,optimize=True,quality=100)
    print("Saving " + output_image_path + " ...... ")
    

folder = "/home/aiaike/ausr/Python/miniProgram"
watermark = "/home/aiaike/ausr/Python/miniProgram/dfjbgljadfa.jpg"
os.chdir(folder)
files = os.listdir(os.getcwd())

if not os.path.isdir("output"):
    os.mkdir("output")

for f in files:
    if os.path.isfile(os.path.abspath(f)):
        if f.endswith(".png") or f.endswith(".jpg"):
            print(os.path.abspath(f))
            watermark_photo(f, watermark, "output/"+f)
            #time.sleep(27)

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

clyfk

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值