方法一:
http://leo108.com/pid-938.asp
使用base64方式编解码。
核心代码如下:
1.将图片文件编码为base64字符串:
import base64 #导入base64库
f = open(r'/home/1.ico','rb') #用二进制方式打开图片文件
str = base64.b64encode(f.read()) #读取文件内容,编码为base64字符串
f.close() #关闭文件
print str #输出base64编码结果
2.将base64字符串解码为图片:
import base64
import wx
import cStringIO
def GetMondrianData():
iconData = "图片BASE64字符串"
iconData = base64.b64decode(iconData)
return iconData
def GetMondrianBitmap():
return wx.BitmapFromImage(GetMondrianImage())
def GetMondrianImage():
stream = cStringIO.StringIO(GetMondrianData())
return wx.ImageFromStream(stream)
def GetMondrianIcon():
icon = wx.EmptyIcon()
icon.CopyFromBitmap(GetMondrianBitmap())
return icon
调用GetMondrianIcon()函数即可
方法二:
使用函数im2py.py,下面这个是旧版wxpython的使用
http://www.blog.pythonlibrary.org/2008/05/23/wxpython-embedding-an-image-in-your-title-bar/
wxpython_2.9.2_py27中的使用:
打开cmd,打开文件夹C:\Python27\Lib\site-packages\wx-2.9.2-msw\wx\tools,输入命令
python img2py.py -i (-n ***)28.ico myIcon.py
option中-n, -i的注释:
-n <name>
-i
输出文件为myIcon,
本例中的使用方法为:
import myIcon
ico = myIcon._28.getIcon()
self.SetIcon(ico)
当然也可以在myIcon.py的文件末尾加
get_Icon = _28.getIcon
则使用方法为
import myIcon
ico = myIcon.get_Icon()
self.SetIcon(ico)