将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)