用Python创建透明的png图片 – pillow |
您所在的位置:网站首页 › 画图png格式透明图片 › 用Python创建透明的png图片 – pillow |
用Python创建透明的png图片 – pillow
为了用Python3创建一个透明的png,使用了Pillow库。Pillow库是Python本身自带的。如果Python不能找到Pillow库,那么打开命令提示符并运行以下命令:- pip install Pillow注意:如果你在安装Pillow时遇到任何问题,请先安装和设置Pip。关于这一点,请查看这篇文章。 步骤: 1 (从Pillow库中导入图像模块) from PIL import Image2.打开任何图像并获得RAGBAG值. img = Image.open(‘image.png’) rgba = img.convert(“RGBA”) datas = rgba.getdata()3.改变颜色 数据将是一个包含数千个RGBA值图元的Imaging Core对象。要使背景透明,首先我们必须找到背景的RGBA值或我们想使之透明的任何颜色。在这张图片中,背景颜色是黑色。 黑色的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")输出: 现在,在同一图像中,如果我们想使黄色透明,我们需要使黄色像素透明。为此,我们必须通过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")输出: 在这里,我们让黄色变得透明。 |
今日新闻 |
点击排行 |
|
推荐新闻 |
图片新闻 |
|
专题文章 |
CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭 |