2014-07-03 41 views
1

我知道gtk#支持2個繪圖庫,system.drawing(如此與Windows兼容)或mono.cairo。我想問問如何在gtk#項目中使用system.drawing

首先:在能力方面哪個更好?

其次:如何在gtk#項目中使用system.drawing。我知道使用了某種ExposeEvent,但不知道它是什麼以及它背後的概念,請包括這個以及您的答案中所需的其他理論/概念。還請舉一個在整個表格中畫線的例子。

我很可能會使用system.drawing,因此請將您的答案專注於問題的第二部分,尤其是理論/概念部分。謝謝

回答

0

一些我自己的想法,可能不是100%正確的。

GTK+ depends on Cairo。 Mono.Cairo允許您將作爲開羅對象的GTK +小部件的圖形公開,如this article中所示。這種圖形確實是開羅的對象。請注意,沒有開羅就不能使用GTK#。

由於GTK +底層框架的跨平臺兼容性,GTK#與Windows和其他操作系統兼容。這不是因爲System.Drawing

GTK +不依賴於GDI +,並且GTK#不依賴於System.Drawing以及

GTK#在某些方面確實支持System.Drawing。例如,您可以將來自GTK +小部件的圖形顯示爲System.Drawing對象,如在Gtk.Dotnet部分下的this article中所示。 GTK#將開羅對象轉換爲等價的對方System.Drawing