25
nuovo per PIL, ma vuole ottenere una soluzione rapida fuori di esso. Il seguente è il mio primo colpo che non funziona mai:come salvare una figura pylab in un file in memoria che può essere letto nell'immagine PIL?
import cStringIO
import pylab
from PIL import Image
pylab.figure()
pylab.plot([1,2])
pylab.title("test")
buffer = cStringIO.StringIO()
pylab.savefig(buffer, format='png')
im = Image.open(buffer.read())
buffer.close()
l'errore dice,
Traceback (most recent call last):
File "try.py", line 10, in <module>
im = Image.open(buffer.read())
File "/awesomepath/python2.7/site-packages/PIL/Image.py", line 1952, in open
fp = __builtin__.open(fp, "rb")
tutte le idee? Non voglio che la soluzione coinvolga pacchetti extra, grazie.
Impressionante! Esso funziona magicamente! anche quando sostituisco 'io.BytesIO' con il mio originale' StringIO'. Puoi ricordarti qual è il motivo per cui scegli di usare il primo qui? Grazie! – nye17
Per Python2.6 o superiore, utilizzare 'io.BytesIO' anziché' cStringIO.StringIO' per la compatibilità diretta. In Python3, i moduli 'cStringIO',' StringIO' sono spariti. La loro funzionalità è tutto nel modulo 'io'. – unutbu
gotcha, grazie! – nye17