我正在尝试使用位图类在屏幕上绘制图像,但出现了问题。
这是我的代码:
Bitmap bm = new Bitmap(@"C:\Alan\University\111.jpg");
Graphics g = Graphics.FromImage(bm);
g.DrawImage(bm,60,60);
运行代码后,我的屏幕上没有任何附加内容。我的代码有什么问题?谢谢
您正在从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);
}
当然,您可能希望在某些启动方法中只加载一次图像,而不是每次绘制表单时。