相关疑难解决方法(0)

在JPG图像上操作时,"无法将模式P写为JPEG"

我正在尝试调整一些图像的大小,其中大部分都是JPG.但在一些图像中,我收到错误:

Traceback (most recent call last):
  File "image_operation_new.py", line 168, in modifyImage
    tempImage.save(finalName);
  File "/Users/kshitiz/.virtualenvs/django_project/lib/python2.7/site-     packages/PIL/Image.py", line 1465, in save
   save_handler(self, fp, filename)
  File "/Users/kshitiz/.virtualenvs/django_project/lib/python2.7/site-   packages/PIL/JpegImagePlugin.py", line 455, in _save
    raise IOError("cannot write mode %s as JPEG" % im.mode)
IOError: cannot write mode P as JPEG
Run Code Online (Sandbox Code Playgroud)

我没有改变图像类型,我正在使用枕头库.我的操作系统是Mac OS X.我该如何解决这个问题?

python macos python-imaging-library pillow

54
推荐指数
3
解决办法
3万
查看次数

在python中使用Pillow将png转换为jpeg

我正在尝试使用枕头将png转换为jpeg.我试过几次没有成功.这两个似乎适用于像这样的小png图像.

在此输入图像描述

第一个代码:

from PIL import Image
import os, sys

im = Image.open("Ba_b_do8mag_c6_big.png")
bg = Image.new("RGB", im.size, (255,255,255))
bg.paste(im,im)
bg.save("colors.jpg")
Run Code Online (Sandbox Code Playgroud)

第二个代码:

image = Image.open('Ba_b_do8mag_c6_big.png')
bg = Image.new('RGBA',image.size,(255,255,255))
bg.paste(image,(0,0),image)
bg.save("test.jpg", quality=95)
Run Code Online (Sandbox Code Playgroud)

但是,如果我尝试转换像这样的更大的图像

我越来越

Traceback(最近一次调用最后一次):

  文件"png_converter.py",第14行,in 

    bg.paste(image,(0,0),image)文件"/usr/lib/python2.7/dist-packages/PIL/Image.py",第1328行,粘贴

    self.im.paste(im,box,mask.im)ValueError:错误的透明度掩码

我究竟做错了什么?

python image python-imaging-library python-3.x

38
推荐指数
3
解决办法
6万
查看次数

图像转换 - 无法将 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
查看次数