如何在c#中从绘制面板中获得位图

本文关键字:位图 绘制 | 更新日期: 2023-09-27 18:18:25

我有一个面板,我使用它的图形gr = panel1.CreateGraphics()来绘制线条和其他东西。我需要获得鼠标点击点的像素颜色,所以我决定使用Bitmap的GetPixel方法。我这样创建位图:

Bitmap b = new Bitmap(width, height);            
panel1.DrawToBitmap(b, new Rectangle(0, 0, width, height));
b.Save("D:/aaa.bmp");

但我只得到白色矩形,即使我画了什么。有什么问题吗?

如何在c#中从绘制面板中获得位图

只有在Paint事件中绘制的东西才会被DrawToBitmap渲染。而不是显式调用panel1.CreateGraphics(),处理面板的Paint事件,并使用e.Graphics进行绘图。