1

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

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

我应该使用什么事件来最小化事件?PS我是一个C#初学者。

4

1 回答 1

0

已编辑

绘制面板的内容。这应该在其 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);
     }
}
于 2013-05-04T14:21:50.550 回答