浏览博客时候发现这篇文章《
wxwidgets 界面编程如何使用png 图片》
由于原文代码在我机器测试不太靠谱,会崩溃,然后就自己动手按照它的思路弄了自己实现了下。
首先是把png图片转成hex保存一个数组中,这里偶之前做了个GUI工具,将就着还可以用,想偷懒的可以下载:
http://download.csdn.net/detail/ccnyou/4616751
运行截图:
选择输入输出文件后,更改变量名为 xxx_png ,
生成一个 *.cpp 文件后,建议手动写一个 *.h,内容如下:
#ifndef xxx _png_h__
#define xxx_png_h__
extern const char* xxx _png;
extern int xxx _png_length;
#endif // xxx _png_h__
然后将两个文件引入你的工程,#include.h进来
然后找个地方写这个函数:
inline wxBitmap wxGetBitmapFromMemory(constchar *data,intlength)
{
wxMemoryInputStream is(data,length);
returnwxBitmap(wxImage(is,wxBITMAP_TYPE_ANY,-1), -1);
}
在需要用时这样写:
wxBitmap pngBitmap =wxGetBitmapFromMemory(xxx_png, xxx _png_length);
OK,大功告成!