首先安装Pillow库(Pillow是Python图像处理函式库(PIL)的一个分支)
在.py文件中引入os 和PIL库
import os
from PIL import Image
findall 方法进行对指定文件夹下所以文件夹进行遍历,再对.png结尾的文件进行透明度修改处理
def findall(path):
dir_string = path
file_list = os.listdir(dir_string) #待修改文件夹
currentpath = os.getcwd() #得到进程当前工作目录
os.chdir(dir_string) #将当前工作目录修改为待修改文件夹的位置
for fileName in file_list: #遍历文件夹中所有文件
if os.path.isdir(fileName):
print('文件夹:'+fileName)
findall(fileName)
else:
# print('非文件夹:' + fileName)
if fileName.__contains__('.png'):
changePngAlpha(fileName)
print("---------------------------------------------------")
os.chdir(currentpath) #改回程序运行前的工作目录
sys.stdin.flush() #刷新
print("修改后:"+str(os.listdir(dir_string)))
#输出修改后文件夹中包含的文件
changePngAlpha对具体的文件进行透明度修改,alpha为0时继续减少还是0
# 改变图片透明度 RGBA模式
def changePngAlpha(path):
img = Image.open(path)
img = img.convert('RGBA') # 修改为 RGBA 实际应用中部分文件可能会有失败,可能是存储格式问题暂未完全解决
x, y = img.size
# 设置每个像素点的值
for i in range(x):
for k in range(y):
color = img.getpixel((i, k))
color = color[:-1] + (color[3]-3,) # 这里设置将图片的Alpha透明度降低3
img.putpixel((i, k), color)
img.save(path)
最后来看一下文件对比的效果
成功达到效果。