如何将pylab图形保存为内存文件,以便导入PIL图像?

2024-06-01 09:14:21 发布

您现在位置:Python中文网/ 问答频道 /正文

对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()

错误说

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")

有什么想法吗?我不希望解决方案涉及额外的包,谢谢。


Tags: inpyimageimportreadpilbufferline
1条回答
网友
1楼 · 发布于 2024-06-01 09:14:21

记住调用buf.seek(0)所以Image.open(buf)开始从 开始buf

import io
from PIL import Image
import matplotlib.pyplot as plt

plt.figure()
plt.plot([1, 2])
plt.title("test")
buf = io.BytesIO()
plt.savefig(buf, format='png')
buf.seek(0)
im = Image.open(buf)
im.show()
buf.close()

相关问题 更多 >