python图像处理——图片透明化处理工具

python图像处理——图片透明化处理工具

工具介绍

本工具可用于可打开png图片,选择图片中的颜色进行透明化处理,可以支持多次选择,对不同区域透明化。工具使用tkinter画页面,使用PIL进行图片处理,采用画布(canvas)获取图片上点的位置,进行颜色抓取。

使用方法

1.打开程序:
python图像处理——图片透明化处理工具_第1张图片
2.选择文件,打开要处理的图片。
python图像处理——图片透明化处理工具_第2张图片
3.在图片区域选取要透明化的背景颜色,点击确定
python图像处理——图片透明化处理工具_第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格式
  1. 获取图片上点的颜色
img = Image.open(showFile)  # 打开图片
col = img.getpixel((event.x, event.y))  # 获取颜色,画布绑定鼠标点击事件,鼠标获取画布上点的坐标,代表图片上点的坐标
……
canvas.bind("", SelectColor)  # 画布绑定鼠标点击事件

附件

工具下载地址为:https://download.csdn.net/download/weixin_39151703/12055724

你可能感兴趣的:(技术开发,python)