Как использовать GdkPixBuf? - PullRequest
       12

Как использовать GdkPixBuf?

2 голосов
/ 30 октября 2009

Я хочу отобразить простое изображение GIF в VBox, используя GTK + из C. Я знаю, что мне нужно использовать GdkPixbuf. Но, как обычно, нет примеров того, как это сделать. Кто-нибудь может оказать помощь?

Также: в GTK + как мы можем добавить изображение PNG в качестве фона для виджета? Кто-нибудь может привести пример?

Забыли что-нибудь добавить:

забыл сказать, что я использую Glade для разработки GUI ... И я создал vBox в Glade, и в одном из блоков vBox мне нужно отобразить рис. Извините за это ...

Ответы [ 2 ]

4 голосов
/ 30 октября 2009
  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);
    

PS. Вы можете часто находить примеры кода, выполняя поиск Google для функции, которая вам нужна. Документы GTK обычно не содержат примеров для каждой отдельной функции, потому что это могло бы загромождать их, и документирование таких функций, как gdk_pixbuf_new_from_file(), обычно довольно просто. Я заметил, что вы часто публикуете подобные вопросы, и мне интересно, ищите ли вы документацию в нужном месте. Например, используете ли вы отличный справочный инструмент DevHelp ? С другой стороны, в документации GTK действительно отсутствует некоторая важная информация в нескольких местах. Если у вас есть некоторые улучшения, почему бы не внести свой вклад в документацию?

2 голосов
/ 30 октября 2009

A vbox в GTK + - это виджет, который отображает другие виджеты как свои дочерние элементы, располагая их вертикально.

Неудивительно, что есть GTK + виджет, предназначенный для отображения изображений; это называется GtkImage. Вы должны использовать вызов <a href="http://library.gnome.org/devel/gtk/stable/GtkImage.html#gtk-image-new-from-file" rel="nofollow noreferrer">gtk_image_new_from_file()</a>, чтобы создать его, передав ему свое имя файла GIF, а затем просто добавьте его в свой vbox. Нет необходимости создавать базовый образ GDK самостоятельно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...