1
我正在製作一個Gtk2程序,將預先計算的數據熱圖圖像呈現給GtkDrawingArea。程序一般是這樣的:開羅圖像不在GtkDrawingArea上繪畫
- 在開羅圖像表面上生成熱圖圖像;
- 連接GtkDrawingArea的暴露事件;在暴露回調
- ,下列功能被稱爲:
:
cairo_t* cr = gdk_cairo_create(widget->window);
cairo_set_source_rgb(cr, 0.5, 0.5, 0.5);
cairo_paint(cr);
cairo_destroy(cr);
在第二功能,油漆的預渲染的圖像:
cairo_t* cr = gdk_cairo_create(widget->window);
cairo_set_source_surface(cr, buffer_surface, 0, 0);
cairo_paint(cr);
cairo_destroy(cr);
在第三函數
,畫出一些矢量適應症:
cairo_t* cr = gdk_cairo_create(widget->window);
cairo_move_to(cr, xxx, xxx);
cairo_line_to(cr, xxx, xxx);
cairo_line_to(cr, xxx, xxx);
cairo_line_to(cr, xxx, xxx);
......
cairo_stroke(cr);
cairo_destroy(cr);
但是,只有第1和第3個函數有效,第2個函數中的圖像繪畫沒有顯示:生成的GtkDrawingArea只有中間灰色背景和黑色線條。
我確定源圖像表面充滿了內容,因爲我已將它導出到png文件並且它具有內容。爲什麼它不在GUI中顯示?