wxPython 显示内存中的图片数据

为了用wxpython显示内存中的图片数据,我纠结了一天。主要是错在了函数参数的数据格式上面。

1、我用的是python3.4

2、下面是具体的代码

import wx
import urllib.request
import re
import binascii
import ctypes
from ctypes import *
import io
from io import BytesIO
 

class Frame(wx.Frame):
    """Frame class that displays an image."""
    def __init__(self, image, parent=None, id=-1,
                 pos=wx.DefaultPosition, title='Hello, wxPython!'):
        """Create a Frame instance and display image."""

        temp = image.ConvertToBitmap()
        size = temp.GetWidth(), temp.GetHeight()
        wx.Frame.__init__(self, parent, id, title, pos, size)
        panel = wx.Panel(self)
        self.bmp = wx.StaticBitmap(parent=panel, bitmap=temp)
        self.SetClientSize(size)
class App(wx.App):
    """Application class."""
    def OnInit(self):
        # create a image object

        with open('img_encode.txt', 'r') as f:
            #image = wx.Image(f)
            data1 = f.read()
            byteTest = bytes(data1,"utf8")
            HexJPG = binascii.a2b_hex(byteTest)
            file2 = BytesIO(HexJPG)
            imageNet2 = wx.ImageFromStream(file2)
        self.frame = Frame(imageNet2)
        self.frame.Show()
        self.SetTopWindow(self.frame)
        return True

def main():
    app = App()
    app.MainLoop()
if __name__ == '__main__':
    main()

3、我主要是错在BytesIO的数据格式上。注意这个函数的数据格式是b"\xff\d8\ff".如下图说明:




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值