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')
相关推荐
河阿里14 小时前
Lambda表达式(Java):从语法本质到工程实践
java·开发语言
步步为营DotNet14 小时前
深入探究.NET 11 中.NET Aspire 在云原生应用持续集成与交付安全加固
python
MATLAB代码顾问15 小时前
MATLAB实现粒子群算法优化PID参数
开发语言·算法·matlab
Soari15 小时前
深度办公革命:拆解 Claude for Microsoft 365,打造金融级智能办公生态
python·microsoft·金融·flask
陈天伟教授15 小时前
图解人工智能(1)居里点
大数据·开发语言·人工智能·gpt
.唉15 小时前
06. FastAPI框架从入门到实战
python·fastapi·web
大鹏说大话15 小时前
Kotlin vs Java:Android之外,后端开发该怎么选?
开发语言
276695829215 小时前
某白山小程序限制PC端调试
python·小程序·apache·小程序逆向·某白山·限制pc调试
skywalker_1115 小时前
注解和反射
java·开发语言
爱代码的小黄人15 小时前
总谐波畸变率 THD 的计算公式整理:MATLAB 官方公式与论文常用公式对比
开发语言·matlab