在FLTK中显示Base64编码图像

Display base64 encoded image in FLTK

本文关键字:编码 图像 Base64 显示 FLTK      更新时间:2023-10-16

是否可以显示已编码为fltk中的字符串的base64的图像?如果可能的话,我想避免在可执行文件外放置一个额外的图像文件。我也许可以将图像与可执行文件打包,但是仅在源代码中编码base64似乎更容易。不过,我可能会误会。

很久以前,我也尝试将图像嵌入我的fltk应用程序,base64是显而易见的选择,不幸的是,我不记得是什么阻止了我使用它。

所以我最终得到了一个小实用程序,该实用程序将png文件序列化为fl_rgb_image作为字节阵列(这是我的调整版本,我不记得我在哪里找到它,所以我不能相信其原始作者)。p>按照任何FLTK应用程序进行编译,例如g++ -o "png2img" png2img.cpp -lfltk_images -lfltk -lpng(或在GitHub上查看Makefile),然后以./png2img <path to folder with png files>运行。它将生成两个文件:images.cppimages.h,请随时重命名。

最后,您可以在构建链中添加images.cpp并使用images.h

#include "images.h" // check the available images
// ...
button_play = new Fl_Button();
button_play->image(img_icon_play); // A Fl_RGB_Image from images.h