总的来说,我对 Gtk、Mono 和 Gtk# 很陌生。
通过大量教程、示例和所有内容,我设法获得了一个无错误的代码:
DrawingArea map = new DrawingArea ();
window.Add (map);
Pixbuf mapContents = new Pixbuf (Environment.CurrentDirectory + string.Format("{0}maps{0}1.png", Path.DirectorySeparatorChar));
int wWidth = mapContents.Width, wHeight = mapContents.Height;
map.SetSizeRequest (wWidth, wHeight);
map.ExposeEvent += delegate(object o, ExposeEventArgs _args)
{
Widget widget = (Widget) o;
Gdk.Rectangle area = _args.Event.Area;
widget.GdkWindow.DrawPixbuf(widget.Style.BlackGC,
mapContents,
area.X, area.Y,
area.Width, area.Height,
area.Width, area.Height,
RgbDither.Normal,
area.X, area.Y);
_args.RetVal = true;
};
但是,虽然它没有错误,但它也缺乏预期的功能。
我想要做的是将背景图像添加到 DrawingArea,但它保持空白。
我究竟做错了什么?