代码之家  ›  专栏  ›  技术社区  ›  Roel

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

  •  2
  • Roel  · 技术社区  · 16 年前

    我正在寻找一种将图像嵌入到库中的方法(仅限Windows)。我不想用“传统”的方式把它放在资源中(因为特殊的环境使得它不太方便处理资源句柄)。

    理想情况下,会有类似于xpm文件的东西:放在C数组中的图像的“文本”表示,一些代码会转换为内存中的位图,然后可以以某种方式加载到himage或hicon中。我要嵌入的图像是32位位图(BMP)。有什么想法吗?我使用的是MFC,所以一个MFC库是可以的,但当然我可以使用一个不使用MFC的库。谢谢。

    3 回复  |  直到 14 年前
        1
  •  6
  •   Michael Burr    16 年前

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

    只需将文件链接进来,您的图像就位于一块内存中。

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

        2
  •  3
  •   Leon Timmermans    16 年前

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

        3
  •  1
  •   tristan_2468    14 年前

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