我需要將我的DrawingArea對象的圖像保存到位圖,但我找不到如何去做。任何人都可以告訴,如何將DrawingArea圖像保存到位圖?將Gtk.DrawingArea保存到位圖
0
A
回答
1
有幾種方法可以做到這一點,它取決於你想要做什麼,以及/爲什麼你真的需要System.Drawing.Bitmap
。
複製了Widget
可以的P/Invoke gtk_widget_get_snapshot獲得Gdk.Pixbuf
。
Pixbuf可以被保存到一個文件中,或者被複制到一個System.Drawing.Bitmap
。
使用System.Drawing中
你可以端口繪製代碼到System.Drawing中的API。
在您的DrawingArea的Expose
方法中,使用Gtk.DotNet.Graphics.FromDrawable爲您的小部件獲取System.Drawing.Graphics
,並使用移植的繪圖代碼將其繪製到該部分上。
然後,您可以創建一個System.Drawing.Bitmap
並使用相同的繪圖代碼進行繪製。
使用開羅
你可以端口繪圖代碼Mono.Cairo
(新GTK#繪圖API,它比System.Drawing中更強大)。
在您的DrawingArea的Expose
方法中,使用Gdk.CairoHelper.Create
爲您的小部件獲取Cairo上下文,並使用移植的繪圖代碼將其繪製到該上下文上。
然後,您可以使用開羅繪圖邏輯寫入開羅ImageSurface
,可以將其保存到文件中,也可以複製到System.Drawing.Bitmap
中。
相關問題
- 1. 保存gtk.DrawingArea到文件
- 2. 將圖像繪製到gtk.DrawingArea?
- 3. 將位圖保存到MemoryStream
- 4. 將Gtk.DrawingArea或Cairo模式的內容保存到磁盤上的圖像
- 5. 將位圖圖像保存到parseObject
- 6. 將圖像從位圖保存到jpeg而不保存文件
- 7. 將位圖保存到視頻(libavcodec ffmpeg)
- 8. 將位圖保存到SD卡
- 9. 將RGB24示例保存到位圖
- 10. 將位圖保存到SD卡Android
- 11. 將位圖保存到文件函數
- 12. 將畫布保存到位圖
- 13. 將位圖保存到文件 - Xamarin,Monodroid
- 14. Android - 將位置保存到地圖
- 15. 將位圖保存到相冊
- 16. 將圖像保存到指定位置
- 17. 將位圖保存到文件
- 18. 如何將位圖保存到Firebase
- 19. 如何將位圖保存到文件?
- 20. 將位圖保存到流中
- 21. 如何將位圖保存到Android Gallery
- 22. 將圖形保存到位圖之外的位圖?
- 23. 保存一個畫布到位圖,然後保存位圖
- 24. 位圖不會將圖像保存到內存流
- 25. 將創建的位圖圖像保存到內部存儲器
- 26. 將Xamarin.Forms.VisualElement保存爲位圖圖像
- 27. 如何將位圖保存爲圖標?
- 28. 將位圖轉換爲單色位圖並將其保存到SD卡中
- 29. 在Matlab中將位圖圖像保存爲位圖圖像
- 30. Android:將位圖保存到手機存儲
非常感謝!我會嘗試 – Mixim