1
加载Gdk Pixbuf我想在本地硬盘上不存在它的情况下使用图像文件。在我的程序中从字符串
因此,我用xxd -i
生成一个包含图像数据的unsigned char[]
,并将其嵌入到我的程序中。
但现在我被卡住试图加载一个Gdk::Pixbuf
(或一个Gtk图像),因为我似乎没有找到一个功能,可以做到这一点。
加载Gdk Pixbuf我想在本地硬盘上不存在它的情况下使用图像文件。在我的程序中从字符串
因此,我用xxd -i
生成一个包含图像数据的unsigned char[]
,并将其嵌入到我的程序中。
但现在我被卡住试图加载一个Gdk::Pixbuf
(或一个Gtk图像),因为我似乎没有找到一个功能,可以做到这一点。
这听起来像Gdk::Pixbuf::create_from_data
的工作。
请注意,像这样的数组是而不是一个字符串,这可能可以解释为什么您在查找时遇到问题。
它在"Image Data in Memory"类别中,而不是隐藏的,另一方面。
EDIT2:在注释后更改为相同功能的gtkmm API包装。
不错,谢谢:)我对所有“从内存”的东西感到困惑,因为我没有真正进入如何使用二进制数据工作,并不能很明白文件试图告诉我什么^^问候,tagelicht – tagelicht
顺便说一句,Gio :: Resource(或GResource)系统就是为此而设计的。你只需要让构建魔法正确。下面是一个例子,我使用gtkmm为Glade UI文件执行此操作:https://github.com/murraycu/prefixsuffix/commit/fbe5f470ddbd3dffc044a0d216759fa8a6fe216d。在我的Glom项目中,我也为图标数据做了这个。 – murrayc
由于问题是关于Gdk :: Pixbuf,而不是GdkPixbuf,这是正确的链接到gtkmm API:https://developer.gnome.org/gtkmm/stable/classGdk_1_1Pixbuf.html#a8a3b524f26acd2f9efc4abe9c294d341 – murrayc