在wxWidgets中装载图像是非常容易的,但是如果将图像文件和可执行文件放到一起,在发布时只需要发布可执行文件,要实现这种功能,一般可以使用资源文件来解决。在windows下的资源文件的源文件是*.rc,编译后叫*.res。在linux下类似,源文件为*.xrc,编译后叫*.xres。但它们是xml格式的,要装载这种资源文件也得动态进行装载。相当于配置文件。
如果想将其直接编译进可执行文件。需要一个工具wxrc。这个工作在wxWidgets中的untils目录中,可自己编译。可使用这个工具将*.xrc 生成c++代码,如果是图像,就将其转换成字符数组。然后和其它程序一起进行编译。可使用wxrc -c main.xrc -v -o main.h
main.xrc的格式如下:
<?xml version="1.0"?> <resource version="2.3.0.1"> </resource> |
生成的main.h的格式如下:
// This file was automatically generated by wxrc, do not edit by hand. #include <wx/wxprec.h> #ifdef __BORLANDC__ #pragma hdrstop #endif #include <wx/filesys.h> #include <wx/fs_mem.h> #include <wx/xrc/xmlres.h> #include <wx/xrc/xh_all.h> static size_t xml_res_size_0 = 55966; static unsigned char xml_res_file_0[] = { 255,216,255,224,0,16,74,70,73,70,0,1,2,0,0,100,0,100,0,0,255,236,0,17,68, static size_t xml_res_size_1 = 161; |