美文网首页
OSError: cannot write mode RGBA

OSError: cannot write mode RGBA

作者: 空口言_1d2e | 来源:发表于2019-10-08 17:33 被阅读0次
    im = Image.open(r"C:\Every_day\python_learn\0429c.jpg")
    print(im.mode)
    # if im.mode != 'RGB':
    #     im = im.convert('RGB')
    if im.size[0] > 3000 or im.size[1] > 3000:
        im = im.resize((int(im.size[0] * 0.3),
                        int(im.size[1] * 0.3)),
                       resample=Image.ANTIALIAS)
        im.save("4.jpg")
    elif im.size[0] > 2000 or im.size[1] > 2000:
        im = im.resize((int(im.size[0] * 0.5),
                        int(im.size[1] * 0.5)),
                       resample=Image.ANTIALIAS)
        im.save("5.jpg")
    elif im.size[0] > 1000 or im.size[1] > 1000:
        im = im.resize((int(im.size[0] * 0.7),
                    int(im.size[1] * 0.7)),
                   resample=Image.ANTIALIAS)
        im.save("6.jpg")              
    

    原因:RGBA意思是红色,绿色,蓝色,Alpha的色彩空间,Alpha指透明度。而JPG不支持透明度,所以要么丢弃Alpha,要么保存为.png文件

    解决

    方案一

    im = im .convert("RGB") 
    im.save("**.jpg")
    

    方案二

    im.save("**.png")  
    

    相关文章

      网友评论

          本文标题:OSError: cannot write mode RGBA

          本文链接:https://www.haomeiwen.com/subject/otfipctx.html