在GDI中绘制图层

时间:2010-05-20 17:40:47

标签: .net winforms drawing

我正在使用winforms在.NET中创建一个应用程序。该申请必须在专家组上绘制。

是否可以在不同的图层上绘制对象,并将其与面板上的一个图像组合? 一层上有许多物体。

sample image http://i49.tinypic.com/jv3wb7.png

1 个答案:

答案 0 :(得分:3)

是的,对每个“图层”使用Bitmap,并将每个位图绘制到面板。

您可以按特定顺序调用DrawImage来控制哪个“图层”位于顶部。

例如:

private void panel1_Paint(object sender, PaintEventArgs e)
{
   Bitmap bmp1 = new Bitmap(panel1.Width, panel1.Height);
   Bitmap bmp2 = new Bitmap(panel1.Width, panel1.Height);

   Graphics g1 = Graphics.FromImage(bmp1);
   Graphics g2 = Graphics.FromImage(bmp2);

   g1.FillRectangle(Brushes.Red, 10, 10, 100, 100);
   g2.FillEllipse(Brushes.Blue, 20, 20, 100, 100);

   e.Graphics.DrawImage(bmp1, 0, 0);
   e.Graphics.DrawImage(bmp2, 0, 0);
}