从字符串加载 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的主要内容,如果未能解决你的问题,请参考以下文章

在GTK中缩放图像

找不到包“gdk-pixbuf-2.0”

如何使用Vala将GStreamer视频输出到Gdk.Pixbuf?

GtkStatusIcon 绘图问题

将pil图像转换为gtk pixbuf

GDK 交叉编译错误