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

  • Post category:Python

下面是详细讲解使用Python创建透明的png图片的攻略,使用的是Python的图像处理库Pillow。

安装Pillow库

Pillow是Python的图像处理库,安装命令如下:

pip install pillow

创建图片

创建一张透明的png图片很简单,只需要新建一个空白的RGBA模式的图片即可:

from PIL import Image

# 创建一个RGBA模式的空白图片,大小为100x100,颜色值全为透明
img = Image.new('RGBA', (100, 100), (0, 0, 0, 0))

以上代码中,我们使用了Image.new()函数创建了一个RGBA模式的图片,大小为100×100,颜色值为全透明。

添加图片元素

创建一张图片的过程中,会经常用到ImageDraw模块来添加图片元素,比如文本、图形等等。

示例1:添加一段文本

要添加一段文本,需要使用ImageDrawText函数,示例代码如下:

from PIL import Image, ImageDraw, ImageFont

# 创建一个RGBA模式的空白图片,大小为100x100,颜色值全为透明
img = Image.new('RGBA', (100, 100), (0, 0, 0, 0))

# 获取一个ImageDraw对象
draw = ImageDraw.Draw(img)

# 加载一个TrueType或OpenType字体文件
font = ImageFont.truetype('arial.ttf', 16)

# 绘制文本
draw.text((10, 10), 'Hello, world!', fill=(255, 255, 255, 255), font=font)

# 保存图片
img.save('example1.png')

上述代码中,我们使用ImageDraw模块的Text函数在图片上添加了一段文本,颜色为白色。

示例2:添加一个圆形区域

以下是添加了一个圆形区域的示例代码:

from PIL import Image, ImageDraw

# 创建一个RGBA模式的空白图片,大小为100x100,颜色值全为透明
img = Image.new('RGBA', (100, 100), (0, 0, 0, 0))

# 获取一个ImageDraw对象
draw = ImageDraw.Draw(img)

# 绘制圆形
draw.ellipse((10, 10, 90, 90), fill=(255, 0, 0, 128), outline=(0, 0, 0, 255))

# 保存图片
img.save('example2.png')

以上代码中,我们使用了ImageDraw模块的ellipse函数在图片上添加了一个圆形区域,颜色为红色,透明度为128。

运行结果

运行以上两段代码后,会生成两张png图片,如下图所示:

example1.png

example2.png

以上就是使用Python创建透明的png图片的完整攻略。