PIL: ImageWin.Dib funktioniert nicht mit GIF

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Benutzeravatar
HWK
User
Beiträge: 1295
Registriert: Mittwoch 7. Juni 2006, 20:44

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
BlackJack

Also ich finde das Verhalten in Ordnung. Du kannst auch einfach ``dib = ImageWin.Dib(bmp.convert('RGB'))`` benutzen.
Benutzeravatar
HWK
User
Beiträge: 1295
Registriert: Mittwoch 7. Juni 2006, 20:44

Ja, das ist noch eine nette Alternative.
Danke
HWK
Antworten