在 C# 中使用 Gtk# 创建位图并显示它

Create a bitmap and display it using Gtk# in C#

我是 MAC 用户,所以我不能使用 Windows 表单。我正在尝试自己弄清楚 Gtk#,但在 Internet 上几乎找不到教程和文档。我想创建一个位图,在其中绘制一些东西并显示它。到目前为止,我带来了这个并且显示了 window:

 Application.Init();
 Window Win = new Window("Ray Tracing #2");
 Win.Resize(480, 480);
 Win.ShowAll();
 Application.Run();

但是,我想用 window 进行操作,所以假设:首先添加一个位图。

我知道要创建位图我必须写:

 System.Drawing.Image IMG = new Bitmap(640, 640);

但是然后呢?

好吧,让我们尝试一次解决所有问题:

我的建议是不要依赖 MonoDevelop/XamarinStudio 中的可视化设计器,而是了解工具包的工作原理并直接使用它。现在图形工具包很容易使用,这样你就不会被任何东西束缚 editor/environment.

关于你的具体问题,Bitmap 属于 WinForms 的领域(事实上,它在 Drawing 命名空间内),你应该使用 Gtk.Image。让我们创建一个滚动面板(尽管它被称为 "window"),并用它来显示位图。

var swScroll = new Gtk.ScrolledWindow();
var picBox = new Gtk.Image( "/path/to/image.jpg" );
var vbox = new VBox( false, 5 );

swScroll.AddWithViewport( picBox );
vbox.PackStart( swScroll, true, true, 5 );

this.Add( vbox );
this.ShowAll();

您可以构建具有特定大小或其他大小的空图像。探索可用于 Gtk.Image.

的构造函数

希望对您有所帮助!