如何从C#中的绘制面板获取位图

时间:2011-12-18 18:28:13

标签: c# graphics bitmap system.graphics

我有一个面板,我使用它的Graphics 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");

但即使我画了任何东西,我也只得到白色矩形。有什么问题?

1 个答案:

答案 0 :(得分:2)

只有Paint事件中绘制的内容才会由DrawToBitmap呈现。而不是明确调用panel1.CreateGraphics(),处理面板的Paint事件并使用e.Graphics进行绘制。