2016-09-22 27 views
1

加载Gdk Pixbuf我想在本地硬盘上不存在它的情况下使用图像文件。在我的程序中从字符串

因此,我用xxd -i生成一个包含图像数据的unsigned char[],并将其嵌入到我的程序中。

但现在我被卡住试图加载一个Gdk::Pixbuf(或一个Gtk图像),因为我似乎没有找到一个功能,可以做到这一点。

回答

2

这听起来像Gdk::Pixbuf::create_from_data的工作。

请注意,像这样的数组是而不是一个字符串,这可能可以解释为什么您在查找时遇到问题。

它在"Image Data in Memory"类别中,而不是隐藏的,另一方面。

EDIT2:在注释后更改为相同功能的gtkmm API包装。

+0

不错,谢谢:)我对所有“从内存”的东西感到困惑,因为我没有真正进入如何使用二进制数据工作,并不能很明白文件试图告诉我什么^^问候,tagelicht – tagelicht

+0

顺便说一句,Gio :: Resource(或GResource)系统就是为此而设计的。你只需要让构建魔法正确。下面是一个例子,我使用gtkmm为Glade UI文件执行此操作:https://github.com/murraycu/prefixsuffix/commit/fbe5f470ddbd3dffc044a0d216759fa8a6fe216d。在我的Glom项目中,我也为图标数据做了这个。 – murrayc

+1

由于问题是关于Gdk :: Pixbuf,而不是GdkPixbuf,这是正确的链接到gtkmm API:https://developer.gnome.org/gtkmm/stable/classGdk_1_1Pixbuf.html#a8a3b524f26acd2f9efc4abe9c294d341 – murrayc

相关问题