在代码中嵌入图像,而不使用资源部分或外部图像

时间:2008-10-22 12:06:09

标签: c++ visual-c++ mfc

我正在寻找一种在图书馆中嵌入图像的方法(仅限Windows)。我不想采用“传统”方式将其放入资源中(因为特殊情况使得处理资源句柄变得不那么方便。

理想情况下,会出现类似xpm文件的内容:放置在ac数组中的图像的“文本”表示,并且某些代码会转换为内存中的位图,然后可以某种方式将其加载到HIMAGE或HICON中。我想嵌入的图像是32位位图(bmp)。有任何想法吗?我正在使用MFC,因此MFC库可以,但我当然可以使用不使用MFC的库。感谢。

3 个答案:

答案 0 :(得分:7)

Google用于bin2c实用程序(类似于http://stud3.tuwien.ac.at/~e0025274/bin2c/bin2c.c)。它需要一个文件的二进制表示,并吐出一个C源文件,其中包含一个初始化为该数据的字节数组。

只需链接文件即可将图像放在一块内存中。

在嵌入式系统中使用这种工具非常常见,例如“资源”甚至文件可能不存在。

答案 1 :(得分:3)

The Gimp可以导出到C文件。我认为这是最简单的方法。

答案 2 :(得分:1)

开源应用程序Hexy专门为此而设计。它运行在Windows和Linux上。 https://github.com/tristan2468/Hexy