2

我正在尝试使用位图类在屏幕上绘制图像,但出现了问题。

这是我的代码:

Bitmap bm = new Bitmap(@"C:\Alan\University\111.jpg");
Graphics g = Graphics.FromImage(bm);
g.DrawImage(bm,60,60);

运行代码后,我的屏幕上没有任何附加内容。我的代码有什么问题?谢谢

4

1 回答 1

7

您正在从Image自身制作图形对象,然后尝试将图像绘制到自身上。您需要将图像绘制到另一个Graphics对象中。通常代表您希望显示图像的屏幕或组件。

您没有指定尝试在哪种上下文中绘制图像。如何获取Graphics对象取决于框架(WPF、WinForms 等)。对于一个典型的 winforms 应用程序,您希望OnPaint在窗口中覆盖,如下所示:

protected override void OnPaint(PaintEventArgs e)
{
   Bitmap bm = new Bitmap(@"C:\Alan\University\111.jpg");

   // Draw using this   
   e.Graphics.DrawImage(bm,60,60);

   base.OnPaint(e);
}

当然,您可能希望在某些启动方法中只加载一次图像,而不是每次绘制表单时。

于 2012-08-21T13:39:34.563 回答