2

总的来说,我对 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,但它保持空白。

我究竟做错了什么?

4

0 回答 0