我正在使用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)
但是,我真正希望能够做的是从内存中的数据创建图像.所以,如果我写
f = open("test.jpg", "rb") data = f.read()
我该如何创建一个wx.Image
对象data
?
谢谢你的帮助!
您应该能够StringIO
将缓冲区包装在内存文件对象中.
... import StringIO buf = open("test.jpg", "rb").read() # buf = get_image_data() sbuf = StringIO.StringIO(buf) image = wx.ImageFromStream(sbuf) ...
buf
可以用任何数据字符串替换.