python将图片设置背景颜色修改为透明色
2020-01-12
技术
由于原始的logo是白色背景的,而我们需要将白色背景更改为透明色,这里启用万能工具python进行图片转换了,使用到的就是pillow包的image。 png格式是具有除了rgb三色外第四个参数表明像素点的透明度,像(0,0,0,0)就是透明的黑色,所以进行图片转换时将该像素点转换为(0,0,0,0)就可以了,然后就是python的代码实现了。
步骤:
- 安装pillow包
- 定义图片转换透明色背景的png格式函数
- 图片转换
安装pillow包
首先使用pip安装pillow包,在命令行下输入
pip install pillow
定义图片转换透明色背景的png格式函数
首先输入参数为图片地址,输出的透明色图片名称,无需后缀,保存为 png 图片
from PIL import Image
def transparent_png(imgfile, out="out"):
img = Image.open(imgfile)
img = img.convert("RGBA")
width, height = img.size
white_pixel = (255, 255, 255, 255)
for x in range(width):
for y in range(height):
if img.getpixel((x, y)) == white_pixel:
img.putpixel((x, y), (0, 0, 0, 0))
img.save(out + ".png")
图片转换
本地一张图片为“学会40周年图标.png”,背景为白色,我们需要转换为透明色,这里开始转换
transparent_png("学会40周年图标.png","40")
看下转换前后的效果
转换前:

转换后:

总结
这篇文章演示了如何用 Pillow 把纯白背景替换成透明像素并导出为 PNG。只要图片背景颜色比较单一,这种逐像素处理方法就足够直接好用。
- 原文作者:春江暮客
- 原文链接:https://www.bobobk.com/421.html
- 版权声明:本作品采用 知识共享署名-非商业性使用-禁止演绎 4.0 国际许可协议 进行许可,非商业转载请注明出处(作者,原文链接),商业转载请联系作者获得授权。