Загрузите файл в pixbuf, есть конструктор new_from_file или что-то для этого.
Да, создайте DrawingArea и вставьте его в Box или что-то еще.
Далее получитеродительское окно DrawingArea (будет метод типа get_window или что-то для этого).Это будет ваш Drawable.
Создайте GC (графический контекст) - вам не нужно устанавливать какие-либо специальные значения в нем.
Подключите DrawingArea к событию expose.В событии expose он вызывает метод draw_pixbuf на Drawable с вашим pixbuf с созданным вами GC.
Вызывайте этот же метод draw_pixbuf всякий раз, когда вы каким-либо образом обновляете pixbuf. * 1011 *
Вы также можетеВы хотите использовать вместо этого растровое изображение, если вы не загружаете его из файла и собираетесь рисовать на нем.Само растровое изображение является Drawable, так что вы можете непосредственно рисовать прямоугольники и другие объекты на нем.Единственная реальная разница в отображении его на DrawingArea заключается в том, что вам нужно вызывать метод draw_drawable вместо draw_pixbuf на Drawable.
Обратите внимание, что я пишу это из памяти использования Perl / Gtk2, и это может не произойтисоставьте карту на любой язык, который вы используете.