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')
相关推荐
try2find22 分钟前
agent环境安装spacy
python·智能体
ellenwan202626 分钟前
期货程序化开平标志错了总拒单:天勤 last_msg 排查思路
python
绵绵细雨中的乡音29 分钟前
监控显示一切正常,可用户根本打不开网站——Blackbox Exporter帮我找到了真相(1)
开发语言·php
c++之路30 分钟前
CMake 系列教程(五):进阶技巧
c语言·开发语言·c++
踏着七彩祥云的小丑31 分钟前
Go学习第5天:变量作用域 + 数组 + 指针
开发语言·学习·golang·go
装不满的克莱因瓶31 分钟前
自动微分的原理:计算图与前向传播
人工智能·pytorch·python·数学·ai·微积分·计算图
Sam_Deep_Thinking36 分钟前
java中的class到底是个什么东西?
java·开发语言·面试
console.log('npc')1 小时前
将 Figma 接入 Codex MCP:从 `/plugins` 到本地插件配置的完整教程
前端·人工智能·python·figma·code·codex·mcp
资深流水灯工程师1 小时前
PySide6 QMainWindow与QWidget秒解
开发语言·python
popcorn_min1 小时前
California Housing 可复现回归实验:随机森林预测加州房价
python