wapython,如何把欢迎界面的图片转换为py程序,急求各位大神

裸奔的句子 发布于 2014/09/24 19:46
阅读 903
收藏 0
wapython,如何把欢迎界面的图片转换为py程序

1).我的代码:
class PaintApp(wx.App):
    def OnInit(self):
        bmp = wx.Image(“girl.bmp”).ConvertToBitmap()
        wx.SplashScreen(bmp,wx.SPLASH_CENTER_ON_SCREEN | wx.SPLASH_TIMEOUT,2000,None,-1)
        wx.Yield()
        return True
我使用工具img2py.py,命令C:\Python27\Lib\site-packages\wx-3.0-msw\wx\tools>python  img2py.py  girl.bmp gi
rl.py,将图片转换为py程序,文件名:girl.py

2).新代码如下:

import wx
import girl  #将图片程序导入

class PaintApp(wx.App):
    def OnInit(self):
        pic = girl.PyEmbeddedImage.GetBitmap()
        bmp = wx.Image(pic).ConvertToBitmap()
        wx.SplashScreen(bmp,wx.SPLASH_CENTER_ON_SCREEN | wx.SPLASH_TIMEOUT,2000,None,-1)
        wx.Yield()
        return True

问题:运行程序报错:
    pic = girl.PyEmbeddedImage.GetBitmap()
TypeError: unbound method GetBitmap() must be called with PyEmbeddedImage instance as first argument (got nothing instead)


这个图片转换应该怎么写,代码bmp = wx.Image(pic).ConvertToBitmap(),pic这个参数该如何去定义?
加载中
0
f4f
f4f
要先传入图像数据生成PyEmbeddedImage的对象之后才能调用GetBitmap()
裸奔的句子
能示范一下吗?我实在没弄懂该怎么写
0
Cosven
Cosven

根据错误提示:我感觉PyEmbeddedImage也是一个类,你需要对它进行实例化, a = PyEmbeddedImage()。然后a对象具有GetBitmap()这个方法。所以:

可能需要改成:

a = girl.PyEmbeddedImage() #实例化

pic = a.GetBitmap()



Cosven
Cosven
回复 @裸奔的句子 : 没用过 wxpython,具体写代码的话,可能也帮不上忙--。
裸奔的句子
能帮我做个脚本吗?我实在没弄懂到底该怎么改
0
裸奔的句子

引用来自“f4f”的评论

要先传入图像数据生成PyEmbeddedImage的对象之后才能调用GetBitmap()
图片的代码为:from wx.lib.embeddedimage import PyEmbeddedImage

girl = PyEmbeddedImage(
    "iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABHNCSVQICAgIfAhkiAAABHBJ"
    "REFUWIXtlmuIFWUcxn/vO3POmXOb2eN2zqJL6kZleSFINGvBMtIo6AIVGVGBdDHQoC9BhFQE")


我在代码中首先import girl了,这个该如何传入?
返回顶部
顶部