如何在gtk#项目中使用system.drawing

时间:2014-07-03 06:43:17

标签: c# mono system.drawing gtk#

我知道gtk#支持2个绘图库,system.drawing(与windows或其他东西兼容)和mono.cairo。我想问一下

首先:在功能方面哪个更好用?

其次:如何在gtk#项目中使用system.drawing。我知道某种ExposeEvent被使用但不知道它是什么以及它背后的概念,请包括这个以及你答案中所需的任何其他理论/概念。另请举例说明在表格中画一条线。

我可能会使用system.drawing所以请把你的答案集中在问题的第二部分,特别是理论/概念部分。谢谢

1 个答案:

答案 0 :(得分:0)

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

GTK+ depends on Cairo。 Mono.Cairo允许您将GTK +小部件中的图形作为Cairo对象公开,如this article中所示。这样的图形确实是开罗的对象。请注意,没有Cairo,GTK#就不能使用。

由于GTK +底层框架的跨平台兼容性,GTK#与Windows和其他操作系统兼容。这不是因为System.Drawing

GTK +不依赖于GDI +, GTK#也不依赖于System.Drawing

GTK#在某些方面确实支持System.Drawing。例如,您可以将来自GTK +小部件的图形公开为System.Drawing个对象,如Gtk.Dotnet部分下的this article中所示。 GTK#将Cairo对象转换为等效的System.Drawing对方。