Python ValueError: bad transparency mask

修改前

修复后

运行正常

复制代码
from PIL import Image

# 读取图片
#报错信息解决ValueError: bad transparency mask--相关文档地址https://blog.csdn.net/kalath_aiur/article/details/103945309
#1. 检查 alpha 通道是否是一个有效的掩码。如果不是,则需要对 alpha 通道进行处理或修复。
#2. 如果 alpha 通道无效,可以尝试使用 Image.convert() 函数将图像转换为 RGBA 模式,然后重新生成 alpha 通道
guoqi = Image.open('image/5star.png').convert("RGBA")
touxiang = Image.open('image/head.png').convert("RGBA")

# 获取国旗的尺寸
x,y = guoqi.size
# 根据需求,设置左上角坐标和右下角坐标(截取的是正方形)
quyu = guoqi.crop((262,100, y+62,y-100))

# 获取头像的尺寸
w,h = touxiang.size
# 将区域尺寸重置为头像的尺寸
quyu = quyu.resize((w,h))
# 透明渐变设置
for i in range(w):
    for j in range(h):
        color = quyu.getpixel((i, j))
        alpha = 255-i//3
        if alpha < 0:
            alpha=0
        color = color[:-1] + (alpha, )
        quyu.putpixel((i, j), color)

# 粘贴到头像并保存
touxiang.paste(quyu,(0,0),quyu)
touxiang.save('image/五星红旗半透明渐变头像.png')
相关推荐
铁皮哥几秒前
【agent 开发】Claude Code 的 Skill 是怎么被加载的?从 name/description 到 SKILL.md 再到资源文件
java·服务器·数据库·python·gitee·github·软件工程
py小王子3 分钟前
期刊复现|Python 实现带误差棒与3D 柱状数据可视化
python·期刊复现
小糯米6016 分钟前
C语言 自定义类型:结构体 与 联合体
c语言·开发语言·数据结构
财经资讯数据_灵砚智能7 分钟前
基于全球经济类多源新闻的NLP情感分析与数据可视化(夜间-次晨)2026年5月25日
大数据·人工智能·python·信息可视化·自然语言处理·ai编程
jieyucx8 分钟前
Go 语言 JSON 序列化与反序列化
开发语言·golang·json·序列化
是你就无限6159 分钟前
FastAPI 核心技术与实战
python·fastapi
是上好佳佳佳呀14 分钟前
【Python基础|DAY05】Python 模块与包
python
罗超驿15 分钟前
6.Java多线程详解:Thread类、线程属性与start()方法深度解析
java·开发语言·面试·java-ee
海的透彻30 分钟前
jmeter预制处理器JSR223-加解密
开发语言·jmeter·sm2·jsr233
asyxchenchong88830 分钟前
R+VIC 模型融合实践技术应用及未来气候变化模型预测
开发语言·r语言