Seite 1 von 1

PIL Bilder aus ZIP-Dateien laden

Verfasst: Freitag 2. Januar 2009, 12:34
von Birne94
Gibt es eine Möglichkeit, mit PIL Bilder aus ZIP-Dateien zu laden?

Verfasst: Freitag 2. Januar 2009, 13:14
von Darii
Indem du die zip-Datei vorher mit ``zipfile.ZipFile`` öffnest.

Verfasst: Freitag 2. Januar 2009, 13:18
von Birne94
das war mir auch klar

ich habe das Bild ausgelesen und in eine Datei gespeichert. Nur ist das Bild dann nicht mehr Lesbar...

E://habs jetzt mit w+b gemacht, nur kommt jetzt

Code: Alles auswählen

IOError: cannot read interlaced PNG files
Gibt es eine Möglichkeit diese zu lesen?

Verfasst: Freitag 2. Januar 2009, 14:20
von nemomuk
du willst es doch lesen, oder?

Code: Alles auswählen

zipfile.ZipFile("samples/sample.zip", "r")

Verfasst: Freitag 2. Januar 2009, 14:48
von HWK
Die Fehlermeldung sagt es doch schon: PIL kann keine interlaced PNGs lesen.
MfG
HWK

Verfasst: Freitag 2. Januar 2009, 14:52
von Birne94
HWK hat geschrieben:Die Fehlermeldung sagt es doch schon: PIL kann keine interlaced PNGs lesen.
MfG
HWK
Das wusste ich auch :|
Gibt es einen Patch/what ever, um interlaced pngs zu lesen?
Oder ein Tool, mit dem ich aus interslaced png normale machen kann (ganzes Verzeichnis konvertieren)

Verfasst: Freitag 2. Januar 2009, 15:15
von HWK
Vielleicht ImageMagick oder, wenn es ganz low-level sein soll, libpng.
MfG
HWK

Verfasst: Freitag 2. Januar 2009, 15:29
von numerix
HWK hat geschrieben:Vielleicht ImageMagick
Ja, mit ImageMagick geht das:

Code: Alles auswählen

convert -interlace none source.png target.png

Verfasst: Freitag 2. Januar 2009, 15:33
von HWK
Evtl. erfüllt auch Pygame Deinen Zweck.
MfG
HWK

Verfasst: Freitag 2. Januar 2009, 16:28
von Birne94
kann mir jemand mal die convert.exe geben (mit libs). ich krieg das ganze irgendwie nich installiert oO

Verfasst: Freitag 2. Januar 2009, 17:34
von numerix
Birne94 hat geschrieben:kann mir jemand mal die convert.exe geben (mit libs). ich krieg das ganze irgendwie nich installiert oO
:?: :?: :?:

Hier kannst du's herunterladen, installieren, anwenden: http://www.imagemagick.org/script/binary-releases.php

Die Doku ist ausgeprochen gut!

Verfasst: Freitag 2. Januar 2009, 17:42
von snafu
Es wird auch ein Interface für Python bereitgestellt (habe ich aber nicht getestet) : http://www.imagemagick.org/script/api.php#python

Verfasst: Freitag 2. Januar 2009, 18:26
von numerix
snafu hat geschrieben:Es wird auch ein Interface für Python bereitgestellt (habe ich aber nicht getestet) : http://www.imagemagick.org/script/api.php#python
Für das, was der OP vorhat, reicht ein einfaches:

Code: Alles auswählen

import subprocess
subprocess.call(["convert","-interlace","none","source.png","target.png"])
So schnell kann ich PythonMagick nicht mal entpacken und installieren ... :wink:

Verfasst: Freitag 2. Januar 2009, 18:50
von Leonidas
Für das in-place-verändern gibt es übrigens ``mogrify``.