在 Kivy 中从内存中加载图像

2022-01-15 00:00:00 python kivy matplotlib

问题描述

我在内存中有一张图片格式(从pyplot输出),我想通过Kivy直接在Android上显示它,但我不想创建图片文件.有没有办法做到这一点?在 pyplot 上,我可以通过将对象写入对象来生成类似对象的文件,但我不知道如何将其放入 Kivy.

I have a picture in memory a format (output from pyplot) and I want to directly show it on the Android through Kivy, but I don't want to create a picture file. Is there any way to do this? On pyplot I am able to generate the file like object by writing it the object, but I don't know how to put it into Kivy.


解决方案

您可以使用 StringIO 将文件保存到缓冲区中(参见:Python中的二进制缓冲区).

You could save the file into a buffer with StringIO (see this: Binary buffer in Python).

类似:

from StringIO import StringIO
buff = StringIO()
plt.savefig(buff)
buff.seek(0)
from kivy.core.image.img_pygame import ImageLoaderPygame
imgdata = ImageLoaderPygame(buff)._data

相关文章