从字符串加载 Gdk Pixbuf
Posted
技术标签:
【中文标题】从字符串加载 Gdk Pixbuf【英文标题】:Load Gdk Pixbuf from string 【发布时间】:2016-09-22 13:26:21 【问题描述】:在我的程序中,我想使用一个不存在于本地硬盘驱动器上的图像文件。
所以,我使用xxd -i
生成了一个包含图像数据的unsigned char[]
并将其嵌入到我的程序中。
但现在我被困在试图从中加载 Gdk::Pixbuf
(或 Gtk 图像),因为我似乎找不到可以做到这一点的函数。
【问题讨论】:
【参考方案1】:这听起来像是 Gdk::Pixbuf::create_from_data
的工作。
请注意,像这样的数组不是字符串,这可以解释为什么您在查找时遇到问题。
另一方面,它在"Image Data in Memory" 类别中,并没有那么隐藏。
EDIT2:在注释后更改为相同函数的 gtkmm API 包装器。
【讨论】:
很好,谢谢 :) 我对所有那些“凭记忆”的东西感到困惑,因为我并不真正了解如何使用二进制数据,也不太明白文档试图告诉我什么^^问候,标记 顺便说一下,Gio::Resource(或 GResource)系统就是为此而生的。你只需要让构建魔法正确。这是一个示例,我使用 gtkmm 对 Glade UI 文件执行此操作:github.com/murraycu/prefixsuffix/commit/…。在我的 Glom 项目中,我也对图标数据执行此操作。 因为问题是关于 Gdk::Pixbuf,而不是 GdkPixbuf,所以这是 gtkmm API 的正确链接:developer.gnome.org/gtkmm/stable/… @murrayc 谢谢,这样更好。我倾向于将所有包装器映射回纯 C API,因为这是我最熟悉的,但当然不是很清楚。以上是关于从字符串加载 Gdk Pixbuf的主要内容,如果未能解决你的问题,请参考以下文章