用Python创建透明的png图片 – pillow

用Python创建透明的png图片 – pillow

为了用Python3创建一个透明的png,使用了Pillow库。Pillow库是Python本身自带的。如果Python不能找到Pillow库,那么打开命令提示符并运行以下命令:-

pip install Pillow

注意:如果你在安装Pillow时遇到任何问题,请先安装和设置Pip。关于这一点,请查看这篇文章。

步骤:

1 (从Pillow库中导入图像模块)

from PIL import Image

2.打开任何图像并获得RAGBAG值.

img = Image.open(‘image.png’)

rgba = img.convert(“RGBA”)

datas = rgba.getdata()

3.改变颜色

数据将是一个包含数千个RGBA值图元的Imaging Core对象。要使背景透明,首先我们必须找到背景的RGBA值或我们想使之透明的任何颜色。在这张图片中,背景颜色是黑色。

用Python创建透明的png图片 - pillow

黑色的RGB值是(0,0,0)。现在我们将循环浏览数据(RGBA值),每当我们发现一个黑色像素,我们将用一个透明的RGBA值来替换它,这个值是((255, 255, 255, 0),其他颜色将保持不变。我们将把这些值存储在一个新的列表中,称为newData。

newData = [] 

for item in datas: 

if item[0] == 0 and item[1] == 0 and item[2] == 0: 

newData.append((255, 255, 255, 0)) 

else: 

newData.append(item) 

4.存储更改后的图像

将newData存储为RGBA值,并将图像保存为png格式(透明图像不能存储为jpg或jpeg格式)。

rgba.putdata(newData) 

rgba.save(“transparent_image.png”, “PNG”) 

实现:

from PIL import Image
  
img = Image.open('image.png')
rgba = img.convert("RGBA")
datas = rgba.getdata()
  
newData = []
for item in datas:
    if item[0] == 0 and item[1] == 0 and item[2] == 0:  # finding black colour by its RGB value
        # storing a transparent value when we find a black colour
        newData.append((255, 255, 255, 0))
    else:
        newData.append(item)  # other colours remain unchanged
  
rgba.putdata(newData)
rgba.save("transparent_image.png", "PNG")

输出:

用Python创建透明的png图片 - pillow

现在,在同一图像中,如果我们想使黄色透明,我们需要使黄色像素透明。为此,我们必须通过RBG值(255, 255, 0)找到黄色,然后用(255, 255, 255, 0)替换它。

新的代码看起来像这样 –

from PIL import Image
  
img = Image.open('image.png')
rgba = img.convert("RGBA")
datas = rgba.getdata()
  
newData = []
for item in datas:
    if item[0] == 255 and item[1] == 255 and item[2] == 0:  # finding yellow colour
        # replacing it with a transparent value
        newData.append((255, 255, 255, 0))
    else:
        newData.append(item)
  
rgba.putdata(newData)
rgba.save("transparent_image.png", "PNG")

输出:

用Python创建透明的png图片 - pillow

在这里,我们让黄色变得透明。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

Python pil