春江暮客

春江暮客的个人学习分享网站

python将图片设置背景颜色修改为透明色

2020-01-12 技术
python将图片设置背景颜色修改为透明色

由于原始的logo是白色背景的,而我们需要将白色背景更改为透明色,这里启用万能工具python进行图片转换了,使用到的就是pillow包的image。 png格式是具有除了rgb三色外第四个参数表明像素点的透明度,像(0,0,0,0)就是透明的黑色,所以进行图片转换时将该像素点转换为(0,0,0,0)就可以了,然后就是python的代码实现了。

步骤:

  1. 安装pillow包
  2. 定义图片转换透明色背景的png格式函数
  3. 图片转换

安装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")

看下转换前后的效果 转换前: png_before

转换后: png_after

总结

这篇文章演示了如何用 Pillow 把纯白背景替换成透明像素并导出为 PNG。只要图片背景颜色比较单一,这种逐像素处理方法就足够直接好用。

友情链接

其它