如何在Gtk#Window上绘制一些东西(线,圆等)?

时间:2010-11-10 23:10:47

标签: c# mono gtk gtk#

我正在使用Mono和C#。我想创建一个“图形”应用程序。

在WinForms和.NET中,我可以使用System.Drawing。我可以用什么GTK#?

而且,Windows下GTK#的性能如何?

1 个答案:

答案 0 :(得分:4)

这是通过Mono.Cairo完成的,Mono.Cairo是本机绘图库(如GDI +)的包装器,所以它表现得非常好。

示例(画线):

using (Cairo.Context g = CairoHelper.Create (myWindow.GdkWindow)) {
    g.MoveTo (0, 0);
    g.LineTo (10, 10);
    g.Color = new Color (1, 1, 1);
    g.Stroke ();
}

Cairo缺少更高级别的功能,比如DrawRectangle和FillRectangle。 Pinta有一堆扩展方法,可以添加您可能想要查看的这些函数:

https://github.com/jpobst/Pinta/blob/master/Pinta.Core/Extensions/CairoExtensions.cs