如何在面板中保存和加载?

时间:2013-05-04 14:18:39

标签: c# bitmap panel bitmapimage

我想将图像从面板保存到位图,然后我希望在Form从最小化模式出来后加载保存的图像。

Bitmap bmp = new Bitmap(panel1.Width, panel1.Height);
panel1.DrawToBitmap(bmp, panel1.Bounds);
bmp.Save(@"C:\Test");
panel1.BackgroundImage = Image.FromFile(@"C:\Test");

我应该使用什么事件来减少事件? 附:我是C#初学者。

1 个答案:

答案 0 :(得分:0)

<强> EDITED

绘制面板的内容。这应该在它的Paint事件处理程序中完成,如下所示:

private void panel1_Paint(object sender, PaintEventArgs e)
{
    using (Pen p = new Pen(Color.Red, 3))
    {
        // get the panel's Graphics instance
        Graphics gr = e.Graphics;

        // draw to panel
        gr.DrawLine(p, new Point(30, 30), new Point(80, 120));
        gr.DrawEllipse(p, 30, 30, 80, 120);
    }
}

将面板内容保存为图像。这部分应该在其他地方完成(例如,当你点击“保存”按钮时):

private void saveButton_Click(object sender, EventArgs e)
{
     int width = panel1.Size.Width;
     int height = panel1.Size.Height;

     using (Bitmap bmp = new Bitmap(width, height))
     {
         panel1.DrawToBitmap(bmp, new Rectangle(0, 0, width, height));
         bmp.Save(@"C:\testBitmap.jpeg", ImageFormat.Jpeg);
     }
}