Seite 1 von 1

PIL: ImageWin.Dib funktioniert nicht mit GIF

Verfasst: Donnerstag 24. Mai 2007, 09:59
von HWK

Code: Alles auswählen

from PIL import Image, ImageWin
bmp = Image.open('Test.gif')
dib = ImageWin.Dib(bmp)
liefert folgenden Fehler:

Code: Alles auswählen

Traceback (most recent call last):
  File "C:\Test.py", line 3, in ?
    dib = ImageWin.Dib(bmp)
  File "C:\Programme\Python24\lib\site-packages\PIL\ImageWin.py", line 70, in __init__
    self.image = Image.core.display(mode, size)
ValueError: image has wrong mode
Z.B. ein JPG-File funktioniert wunderbar. GIF-Files haben zwar nur 256 Farben, aber warum kann PIL hieraus nicht automatisch einen passenden Mode bestimmen? Folgendes funktioniert z.B. auch

Code: Alles auswählen

from PIL import Image, ImageWin
bmp = Image.open('Test.gif')
dib = ImageWin.Dib('RGB', bmp.size)
dib.paste(bmp)
und erfüllt denselben Zweck. Ist dies Verhalten von PIL wirklich so erwünscht?
MfG
HWK

Verfasst: Donnerstag 24. Mai 2007, 12:27
von BlackJack
Also ich finde das Verhalten in Ordnung. Du kannst auch einfach ``dib = ImageWin.Dib(bmp.convert('RGB'))`` benutzen.

Verfasst: Donnerstag 24. Mai 2007, 14:45
von HWK
Ja, das ist noch eine nette Alternative.
Danke
HWK