[Python] Ottenere il bytestream di un immagine da PIL

Luca lucafbb a gmail.com
Mer 3 Ott 2007 21:46:47 CEST


Si avevo letto la questione dell'immagine raw ma non sono affatto
esperto di immagini e correlati!

Proverò con l'uso di encoder! Grazie molte!

On 10/3/07, Manlio Perillo <manlio_perillo a libero.it> wrote:
> Luca ha scritto:
> > Salve a tutti.
> >
> > Ho la necessità di caricare un'immagine PNG utilizzando PIL e
> > modificarla leggermente.
> >
> > Una volta eseguita al modifica, se uso le funzioni di PIL per la
> > generazione di una nuova immagine su filesystem le cose sono ok.
> >
> > Ciò che però devo veramente fare è inviare il bytestream dell'immagine
> > tramite la la rete. Per fare questo non volevo salvare l'immagine su
> > filesystem (dato che è temporanea) ma credevo di poterlo fare
> > ottenendo il sorgente dell'immagine direttamente dall'oggetto Image.
> >
> > Purtroppo ciò che ottengo dall'uso di Image.tostring (unico metodo che
> > pare fare al caso mio) è un bytestream estremamente più grande, e non
> > comunque un'immagine corretta...
> >
>
> Hai letto la documentazione del metodo tostring?
> http://www.pythonware.com/library/pil/handbook/image.htm
>
> Senza parametri aggiuntivi dovrebbe restituire il contenuto RAW
> dell'immagine.
>
> Purtroppo nella documentazione non viene spiegato cosa passare come
> "encoder", comunque una veloce ricerca fornisce:
> http://mail.python.org/pipermail/image-sig/2004-September/002908.html
>
> Prova a fare .tostring('jpeg') e vedi cosa succede.
>
> Se non funziona salva l'immagine in un file temporaneo e, se usi WSGI,
> usa l'estensione wsgi.file_wrapper, in modo che, se sei fortunato, viene
> usato sendfile, in modo da evitare di copiare due volte il buffer tra
> memoria <-> filesystem.
>
>  > [...]
>
>
> Saluti  Manlio Perillo
> _______________________________________________
> Python mailing list
> Python a lists.python.it
> http://lists.python.it/mailman/listinfo/python
>


Maggiori informazioni sulla lista Python