python – 如何从内存数据中创建wx.Image对象?教程
我正在使用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对象?
谢谢你的帮助!
解决方法:
您应该能够使用StringIO将缓冲区包装在内存文件对象中.
...
import StringIO
buf = open("test.jpg", "rb").read()
# buf = get_image_data()
sbuf = StringIO.StringIO(buf)
image = wx.ImageFromStream(sbuf)
...
buf可以替换为任何数据字符串.