如何保存和加载面板

本文关键字:加载 保存 何保存 | 更新日期: 2023-09-27 18:12:11

我想将图像从面板保存到位图,然后我想在表单退出最小化模式后加载保存的图像。

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

我应该使用什么事件来最小化事件?注:我是c#初学者。

如何保存和加载面板

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);
     }
}