python图像处理——图片透明化处理工具
工具介绍
本工具可用于可打开png图片,选择图片中的颜色进行透明化处理,可以支持多次选择,对不同区域透明化。工具使用tkinter画页面,使用PIL进行图片处理,采用画布(canvas)获取图片上点的位置,进行颜色抓取。
使用方法
1.打开程序:
2.选择文件,打开要处理的图片。
3.在图片区域选取要透明化的背景颜色,点击确定
4.在颜色框内可看到选取的颜色RGBA值,点击确定后再次点击可以看到A值变为0,说明已经透明化。可多次选择不同的颜色,点击确定进行透明化。
5. 点击保存文件,可保存透明化的图片。
重点代码
1.图片透明处理
trcolor = (getcolor[0], getcolor[1], getcolor[2], 0) # getcolor为获取的颜色,trcolor将透明度设为0
img = Image.open(showFile) # 打开图片
con = img.convert("RGBA") # 转化为RGBA
datas = con.getdata() # 获取图片数据列表
new_data = list() # 定义需要处理的数据列表
for item in datas:
if (item[0] == int(getcolor[0])) and (item[1] == int(getcolor[1])) and (item[2] == int(getcolor[2])): # 判断图片颜色和获取颜色是否相同
new_data.append(trcolor) # 将相同的设置为透明
else:
new_data.append(item) # 不同的保持不变
con.putdata(new_data) # 重置图片
con.save(showFile, "PNG") # 保存图片为png格式
- 获取图片上点的颜色
img = Image.open(showFile) # 打开图片
col = img.getpixel((event.x, event.y)) # 获取颜色,画布绑定鼠标点击事件,鼠标获取画布上点的坐标,代表图片上点的坐标
……
canvas.bind("<Button-1>", SelectColor) # 画布绑定鼠标点击事件
附件
工具下载地址为:https://download.csdn.net/download/weixin_39151703/12055724