Python-Imaging: laden Sie die jpeg aus dem Speicher
Das problem ist zum laden von jpeg-codierten Bildes aus dem Speicher.
Erhalte ich einen string vom socket:
jpgdata = self.rfile.read(sz)
und ich weiß, daß das jpeg-codierte Bild.
Brauche ich, Sie zu entschlüsseln.
Die dümmste Lösung ist:
o = open("Output/1.jpg","wb")
o.write(jpgdata)
o.close()
dt = Image.open("Output/1.jpg")
Die Frage ist, wie das gleiche zu tun, in-memory?
InformationsquelleAutor der Frage user1038085 | 2012-01-11
Du musst angemeldet sein, um einen Kommentar abzugeben.
PIL ' s Bild.öffnen Sie das Objekt akzeptiert keine Datei-wie-Objekt. Das heißt, Sie können wickeln Sie Ihre Bild-Daten auf ein StringIO-Objekt, und übergeben es an Bild.Öffnen
Oder versuchen Sie einfach vorbei
self.rfile
als argument zu Bild.öffnen - es könnte genauso gut funktionieren. (Das ist für Python 2 - für Python 3 verwendenfrom io import BytesIO
)InformationsquelleAutor der Antwort jsbueno
Verwenden StringIO um das Bild auf Ihre Daten zugreifen kann, als wäre es eine Datei.
InformationsquelleAutor der Antwort Scott Hunter