相关疑难解决方法(0)

不能将RGBA模式写为JPEG

我正在学习使用'枕头5.0'后面的书'用蟒蛇自动化无聊的东西'

有关图像对象的信息

In [79]: audacious = auda
In [80]: print(audacious.format, audacious.size, audacious.mode)
PNG (1094, 960) RGBA
Run Code Online (Sandbox Code Playgroud)

当我尝试转换文件类型时,它报告错误.

In [83]: audacious.save('audacious.jpg')
OSError: cannot write mode RGBA as JPEG
Run Code Online (Sandbox Code Playgroud)

书中没有这样的错误.

pillow python-3.6

19
推荐指数
1
解决办法
2万
查看次数

图像转换 - 无法将 RGBA 模式写入 JPEG

我正在尝试在项目上传之前调整图像大小并降低图像质量。这是我尝试过的,

def save(self):
    im = Image.open(self.image)
    output = BytesIO()
    im = im.resize(240, 240)
    im.save(output, format='JPEG', quality=95)
    output.seek(0)
    self.image = InMemoryUploadedFile(output, 'ImageField', "%s.jpg" % self.image.name.split('.')[0], 'image/jpeg', sys.getsizeof(output), None)
    super(Model, self).save()
Run Code Online (Sandbox Code Playgroud)

如果我上传jpg图像,它工作正常,但如果我上传png或任何其他图像类型,它就不起作用,它会引发诸如cannot write mode RGBA as JPEG&之类的错误cannot write mode P as JPEG

我们怎样才能解决这个问题?谢谢你!

python django

6
推荐指数
1
解决办法
8809
查看次数

标签 统计

django ×1

pillow ×1

python ×1

python-3.6 ×1