解决报错OSError: cannot write mode RGBA as JPEG

一、问题描述

如题:解决报错OSError: cannot write mode RGBA as JPEG,这个错误是在下面代码中出现的:

from PIL import Image
# 打开图片
root_path = "xx"
this_image_path = root_path + "example3/4.png"
img = Image.open(this_image_path) # .convert('RGB')
this_save_path = root_path + "ya_pic/4_ya.jpeg"
img.save(this_save_path, format="JPEG")
# img.save(this_save_path, quality=quality_value)

二、解决方法

  • 这个错误通常发生在尝试将含有透明度通道的图片(如RGBA模式的PNG图片)保存为JPEG格式时,因为JPEG不支持透明度。解决方法是在保存之前将图片转换为不带透明度的模式,比如RGB。使用Pillow库,可以这样做:
from PIL import Image
img = Image.open('path_to_your_image.png').convert('RGB')
img.save('path_to_save_image.jpeg', 'JPEG')

这段代码将图片从RGBA模式转换为RGB模式,然后保存为JPEG格式,从而避免了这个错误。

  • PNG图像有RGBA四个通道,而BMP和JPG图像只有RGB三个通道,所以我们可以将程序中所有图片的保存形式改为PNG
  • RGBA意思是红色,绿色,蓝色,Alpha的色彩空间,Alpha指透明度。JPG、JPEG不支持透明度。

三、拓展

对于PIL模块来说,其模式包括以下几种:
1        1位像素,黑和白,存成8位的像素
L        8位像素,黑白
P        8位像素,使用调色板映射到任何其他模式
RGB       3×8位像素,真彩
RGBA       4×8位像素,真彩+透明通道
CMYK       4×8位像素,颜色隔离
YCbCr       3×8位像素,彩色视频格式
I          32位整型像素
F         32位浮点型像素

Reference

[1] https://pillow-docs-cn.readthedocs.io/zh-cn/latest/

相关推荐

  1. easyexcel解决

    2024-04-09 05:12:03       36 阅读
  2. Mybatis解决

    2024-04-09 05:12:03       10 阅读
  3. okhttpclient.setsslsocketfactory 解决

    2024-04-09 05:12:03       40 阅读
  4. yum命令解决

    2024-04-09 05:12:03       40 阅读
  5. 解决Rust Cargo

    2024-04-09 05:12:03       8 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-04-09 05:12:03       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-04-09 05:12:03       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-04-09 05:12:03       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-04-09 05:12:03       18 阅读

热门阅读

  1. 简述对css工程化的理解

    2024-04-09 05:12:03       15 阅读
  2. hash模式和history模式的区别

    2024-04-09 05:12:03       18 阅读
  3. 关于SpringBoot的配置文件

    2024-04-09 05:12:03       13 阅读
  4. MySQL-commit,rollback

    2024-04-09 05:12:03       13 阅读
  5. 探索 C++ 中的 string 类

    2024-04-09 05:12:03       10 阅读
  6. Inotify

    Inotify

    2024-04-09 05:12:03      11 阅读
  7. PCL 三角形到三角形的距离

    2024-04-09 05:12:03       11 阅读
  8. 计算机病毒传播原理

    2024-04-09 05:12:03       15 阅读
  9. VPS入门指南:理解并有效利用虚拟专用服务器

    2024-04-09 05:12:03       12 阅读