绘制位图C#

Ala*_*Mil 2 c# winforms

我试图用位图类在屏幕上绘制图像,但有些不对劲.

这是我的代码:

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

运行代码后,我的屏幕上没有任何附加信息.我的代码有什么问题?谢谢

Der*_*all 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);
}
Run Code Online (Sandbox Code Playgroud)

当然,您只想在某些启动方法中加载图像,而不是每次绘制表单时都加载图像.