png images反色保留背景透明

该代码段使用Python的os和PIL库遍历src-png-folder目录,对所有PNG图像进行反色处理,同时保持其透明度不变,处理后的图片保存在result目录下。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

将src-png-folder目录下的所有png images反色并保留保留透明不变。


import os
from PIL import Image

def get_files(src_path):
    results = []
    for filepath, dirnames, filenames in os.walk(src_path):
        for filename in filenames:
            path = os.path.join(filepath,filename)
            results.append(path)
            pass
        pass
    return results


files=get_files(r"./src-png-folder")

for file in files:
    result_file = os.path.join("result", file)
    result_dirname = os.path.dirname(result_file)
    print(result_file, "->", result_dirname)
    if not os.path.exists(result_dirname):
        os.makedirs(result_dirname)

    (file_name, ext) = os.path.splitext(file)
    is_png = ext.lower() == ".png"
    print(ext, " is_png:", is_png)
    print("->", file)

    image = Image.open(file).convert('RGBA')
    print("mode:", image.mode)

    newImage = []
    for item in image.getdata():
        (r, g, b, a) = item
        newImage.append(( 255 - r, 255 - g, 255 - b, a))
    image.putdata(newImage)
    image.save(result_file)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值