I'm writing a GUI application in Python using wxPython and I want to display an image in a static control (wx.StaticBitmap
).
I can use wx.ImageFromStream
to load an image from a file, and this works OK:
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)
But, what I really want to be able to do is create the image from data in memory. So, if I write
f = open("test.jpg", "rb")
data = f.read()
how can I create a wx.Image
object from data
?
Thanks for your help!
You should be able to use StringIO
to wrap the buffer in a memory file object.
...
import StringIO
buf = open("test.jpg", "rb").read()
# buf = get_image_data()
sbuf = StringIO.StringIO(buf)
image = wx.ImageFromStream(sbuf)
...
buf
can be replaced with any data string.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With