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')
相关推荐
会编程的吕洞宾10 分钟前
LangChain4j 流式输出实战:让 AI 回复像打字机一样逐字显示
java·开发语言·人工智能·后端
不脱发的程序猿12 分钟前
红利ETF量化策略
人工智能·python·ai·程序员·量化交易·etf·策略回测
Apok'17 分钟前
零基础学Python量化(1):研究大纲与流程
python·机器学习·金融·数据挖掘·数据分析
鬓戈20 分钟前
llmproxy 系统开发目的和基本功能
人工智能·python
曹牧24 分钟前
JDK重定向目录
java·开发语言
郑州光合科技余经理26 分钟前
同城小程序开发:同一笔单在用户端和商家端各显示到哪
android·java·开发语言·前端·后端·uni-app·php
卷无止境37 分钟前
ARM与x86、x64的能效之争:指令集只是故事的开头
后端·python
2601_962885721 小时前
如何用 Python 计算溃疡指数(Ulcer Index)?
开发语言·python
kiracrimson1 小时前
string 容器:从 C 字符串到会自己扩容的类
开发语言·数据结构·c++·stl
benchmark_cc1 小时前
如何为 QuantDash Python SDK 编写一个最小化的连接验证脚本?
python·数据分析·pandas·量化交易·股票数据·quantdash