我試圖顯示一個圖像,我從一個pixbuf(從內存中的數據)加載,並且圖像每次都會更新(因爲pixbuf也隨着時間而改變)。我的問題是,由於該窗口只包含圖像(定期更新),我需要一個gtk繪圖區還是繪圖區?或者我可以簡單地在窗口中顯示圖像?另一種選擇是使用開羅。任何人都可以請建議一個好方法來做到這一點?在gtk中顯示圖像 - 是否需要gtk繪圖區域?
回答
將文件加載到一個pixbuf的簡單,有一個new_from_file構造函數或東西這一點。
是的,創建一個DrawingArea並將其粘貼在Box或某處。
接下來,得到DrawingArea父窗口(將有一個像get_window或類似的方法)。這將是你的Drawable。
創建一個GC(圖形上下文) - 你不需要在其中設置任何特殊值。
將DrawingArea連接到公開事件。在公開事件中,使用您創建的GC與pixbuf調用Drawable上的draw_pixbuf方法。
無論何時您以某種方式更新pixbuf,請調用此相同的draw_pixbuf方法。
如果您沒有從文件加載它並打算在其上繪製,您可能還想考慮使用像素映射。像素圖本身是一個可繪製的,所以你可以直接在其上繪製矩形和東西。在DrawingArea上顯示它唯一真正的區別是你需要在drawable上調用draw_drawable方法而不是draw_pixbuf。
請注意,我從使用Perl/Gtk2的內存中編寫它,並且它可能不會乾淨地映射到您正在使用的任何語言。
一個GtkImage
會工作得很好,而且比所有的東西你上市;-)
thanx ...但我試圖使用GtkImage ...但我無法每次顯示圖像...我使用公開事件和gtk_widget_queue_draw(窗口)每次顯示更新的圖像..但我得到的只是一個空白的窗口...還有什麼我需要做的每次顯示修改後的圖像?我會發布的代碼,如果需要的話...... – linuxnewbie 2010-10-07 03:07:05
- 1. 在Gtk繪圖區域的Gtk按鈕
- 2. GTK +如何繪製繪圖區域
- 3. 刷新繪圖區域在GTK
- 4. GTK +顯示圖標圖像
- 5. GTK + 3自定義繪圖區域
- 6. Gtk圖像不顯示在C
- 7. 在GTK中調整繪圖區域的大小
- 8. Gtk繪製位圖
- 9. gtk繪圖設置背景圖像
- 10. gtk顯示修改後的圖像
- 11. 沒有gtk的顯示圖像
- 12. 在GTK中縮放圖像
- 13. GTKMM ::在GTk :: Drawing區域中使用單個Gdk :: PixBuf繪製多個圖像
- 14. Gtk/Gtk中的圖表#
- 15. 什麼是在Gtk +中繪製圖像的最快方式?
- 16. Gtk#MonoDevelop的繪圖工具
- 17. 單聲道GTK繪圖庫?
- 18. gtk中的圖像內存+
- 19. Facebook圖形API是否需要圖像url來顯示圖像?
- 20. 在繪圖區域上繪製圖像
- 21. 使用Gtk 3在Python中加載並顯示圖像?
- 22. 在GTK中顯示動畫GIF#圖像構件
- 23. 組合框與圖像GTK
- 24. 在GTK#中的pixbuf到圖像控件
- 25. 如何在gtk中刷新圖像?
- 26. 在gtk中加速圖像加載.IconView
- 27. 如何在DrawingArea中繪製GTK庫存圖像
- 28. C \ GTK截圖
- 29. GTK顯示部件
- 30. pygtk繪圖區域不顯示
thnx爲你的答覆...我將使用C語言...但我會嘗試你的方法..yeah函數調用將有所不同...我'我看着它...... thnx反正...... – linuxnewbie 2010-10-11 10:06:40