【问题标题】:How to save a image into a string in c++ source code如何在 C++ 源代码中将图像保存为字符串
【发布时间】:2015-08-25 16:25:30
【问题描述】:

是否可以将图像保存到 C++ 源代码中?

#include <string>

int main(){
std::string = "<full code of a .png for example>";

//...
}

问题在于图像有很多字符,例如“\”...从十六进制编辑器复制和粘贴会产生错误。

我不想从 .png 文件中加载图像,我想将图像代码直接放入字符串中。

【问题讨论】:

  • 或成字符数组...,但我想将图像代码保存成.cpp

标签: c++


【解决方案1】:

这通常通过将图像保存到 base64 编码字符串中来完成。它需要更多字节来存储,但具有作为字符串的优点。您可以使用 online tool 将图像转换为 base64 编码字符串,您可以将其复制到源文件中。

string base64 = "在此处复制编码字符串";

有关如何将该字符串解码为图像的更多详细信息,请参阅this question。希望这会有所帮助。

【讨论】:

    【解决方案2】:

    有像 xxd 这样的工具,它会在一个二进制输入文件的头文件中生成一个字符数组,供您包含在您的项目中,请参阅this 答案。对于此用例,这通常比使用字符串更可取,因为您无需担心 base64 编码来处理特殊字符。

    【讨论】:

    • 我也会试试这个,它可能会比我想要的更好。也谢谢你!
    【解决方案3】:

    如果使用 Windows,请将图像添加到您的资源中。控制台应用程序也可以有资源文件。然后从资源中加载图片。

    另一种选择是在图像上使用 Base64 编码,将字符串复制到源中,在运行时重新编译和解码字符串..

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-10-18
      • 1970-01-01
      • 1970-01-01
      • 2014-06-11
      • 2017-10-08
      相关资源
      最近更新 更多