基于python合成100X100的透明背景图片和图标
一、实现思路
1. 加载图像
使用 Image.open() 加载图标图像。 Image.new() 创建一个新的透明背景图像。
2. 调整大小
使用 resize() 方法调整图标图像的大小,确保它不会超过背景图像的一半大小。这里使用 Image.Resampling.LANCZOS 作为过滤器,以获得高质量的缩放效果。
3. 计算居中位置
计算图标图像在背景图像中的居中位置。
4. 粘贴图像
使用paste() 方法将图标图像粘贴到背景图像的居中位置。
5. 保存图像
使用save() 方法保存合成后的图像。
二、代码
from PIL import Image# 创建一个新的空白图片,设置大小为64x64像素,模式为RGBA(支持透明度)
background_image = Image.new("RGBA", (100, 100), (255, 255, 255, 0))
# 需要添加的图片
icon_image = Image.open("earth3.png") # 第一个图标的路径# 确保图标图像的大小不超过背景图像
# icon_image = icon_image.resize(
# (int(background_image.width / 2), int(background_image.height / 2)),
# Image.Resampling.LANCZOS,
# )
icon_image = icon_image.resize((70, 70),Image.Resampling.LANCZOS,
)# 计算居中位置
x = (background_image.width - icon_image.width) // 2
y = (background_image.height - icon_image.height) // 2# 将图标图像粘贴到背景图像的中间位置
background_image.paste(icon_image, (x, y))# 保存合成后的图像
background_image.save("cmimg3.png")
print("成功")