我知道gtk#支持2个绘图库,system.drawing
(与windows或其他东西兼容)和mono.cairo
。我想问一下
首先:在功能方面哪个更好用?
其次:如何在gtk#项目中使用system.drawing
。我知道某种ExposeEvent
被使用但不知道它是什么以及它背后的概念,请包括这个以及你答案中所需的任何其他理论/概念。另请举例说明在表格中画一条线。
我可能会使用system.drawing所以请把你的答案集中在问题的第二部分,特别是理论/概念部分。谢谢
答案 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
对方。