如何使用GdkPixBuf?

时间:2009-10-30 13:10:20

标签: gtk

我想使用来自C的GTK +在VBox中显示一个简单的GIF图像。我知道我需要使用GdkPixbuf。但像往常一样,没有这样做的例子。任何人都可以提供帮助吗?

另外:在GTK +中我们如何添加PNG图像作为窗口小部件的背景?任何人都可以提供一个例子吗?

忘了添加这个:

忘了告诉你我正在使用Glade来开发GUI ... 我已经在Glade中创建了vBox,并且在vBox的一个块中我需要显示FIG Image .... 对不起...

2 个答案:

答案 0 :(得分:4)

  1. gdk_pixbuf_new_from_file() - 请参阅放松的答案,了解使用GtkImage小部件更好的方法。
  2. 您需要在小部件的样式结构中设置背景像素图字段:

    GtkRcStyle *newstyle = gtk_widget_get_modifier_style(widget);
    newstyle->bg_pixmap_name[GTK_STATE_NORMAL] = g_strdup(pngfilename);
    gtk_widget_modify_style(widget, newstyle);
    
  3. PS。您经常可以通过Google搜索您需要的功能来查找代码示例。 GTK文档通常不包含每个函数的示例,因为这会使它们混乱,而像gdk_pixbuf_new_from_file()这样的函数的文档通常非常简单。我注意到你经常发布这类问题,我想知道你是否在正确的地方寻找文档。例如,您使用的是出色的参考工具DevHelp吗?另一方面,GTK文档确实缺少一些地方的一些重要信息。如果您有一些改进,为什么不参与文档?

答案 1 :(得分:2)

GTK +中的vbox是一个小部件,它将其他小部件显示为其子级,将它们垂直堆叠。

不出所料,有一个专门用于显示图像的GTK +小部件;它被称为GtkImage。您应该使用gtk_image_new_from_file()调用创建一个,将其传递给您的GIF文件名,然后将其添加到您的vbox中。无需自己创建基础GDK图像。