修改图片背景为透明
RGB 和 RGBA 的区别
RGB 配色方案:它是一种三通道格式,包含红色、绿色和蓝色的数据。rgb()函数的每个参数定义了 0 到 255 范围内的颜色强度。
RGBA 颜色格式是 RGB 方案的扩展,增加了指定颜色不透明度的 alpha 通道。
图片背景透明处理
知道了RGB和RGBA的区别,只要将背景的RGBA中alpha 设为0,即可实现背景透明。
- 转换图片为RGBA模式
- 设定图片背景中某一点为基准点,遍历所有像素点,如果像素点RGB与基准点RGB相同,令该像素点的A为0
pic = Image.open(file)
pic = pic.convert('RGBA') # 转为RGBA模式
pix = pic.load() # 获取图片像素
pix00 = pix[0,0] # 获取基准点(0,0)的RGBA
for i in range(pic.size[0]):
for j in range(pic.size[1):
pos = pix[i, j] # 获得某个像素点
if pos == pix00:
pix[i, j] = (pos[0],pos[1],pos[2],0)
# 保存图片
pic.save(newfile)