如何从内存数据创建wx.Image对象?

Chr*_*isN 4 python wxwidgets wxpython

我正在使用wxPython在Python中编写GUI应用程序,我想在静态控件(wx.StaticBitmap)中显示图像.

我可以用来wx.ImageFromStream从文件加载图像,这可以正常工作:

static_bitmap = wx.StaticBitmap(parent, wx.ID_ANY)
f = open("test.jpg", "rb")
image = wx.ImageFromStream(f)
bitmap = wx.BitmapFromImage(image)
static_bitmap.SetBitmap(bitmap)
Run Code Online (Sandbox Code Playgroud)

但是,我真正希望能够做的是从内存中的数据创建图像.所以,如果我写

f = open("test.jpg", "rb")
data = f.read()
Run Code Online (Sandbox Code Playgroud)

我该如何创建一个wx.Image对象data

谢谢你的帮助!

cod*_*gic 8

您应该能够StringIO将缓冲区包装在内存文件对象中.

...
import StringIO

buf = open("test.jpg", "rb").read()
# buf = get_image_data()
sbuf = StringIO.StringIO(buf)

image = wx.ImageFromStream(sbuf)
...
Run Code Online (Sandbox Code Playgroud)

buf 可以用任何数据字符串替换.