web-dev-qa-db-fra.com

Obtenir "ne peut pas écrire le mode P en JPEG" lors de l'utilisation d'une image JPG

J'essaie de redimensionner certaines images, dont la plupart sont en JPG. Mais en quelques images, je reçois l'erreur:

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

Je ne change pas le type d'image et j'utilise la bibliothèque d'oreillers. Mon système d'exploitation est Mac OS X. Comment puis-je résoudre le problème?

53
vlad halmer

Vous devez convertir l'image en mode RVB.

Image.open('old.jpeg').convert('RGB').save('new.jpeg')
116
Jayanth Koushik