为什么DrawToBitmap不会绘制不同控件的内容?

时间:2014-04-23 01:08:24

标签: c# forms

这应该是非常简单易行的,但它并不是一件坏事。我想做的就是在PictureBox上绘制一些内容,然后获取PictureBox内容的快照。这就是我所拥有的:

Graphics g = pictureBox1.CreateGraphics();
g.DrawImage(_image, _imageRectangle);

using (Bitmap bmp = new Bitmap(pictureBox1.Width, pictureBox1.Height, g))
{
    pictureBox1.DrawToBitmap(bmp, pictureBox1.ClientRectangle);
    bmp.Save(_filePath);
}

绘制的图像在屏幕上显示正常,但空白PictureBox被绘制到_filePath。发生了什么事?

1 个答案:

答案 0 :(得分:0)

你可以这样做:

Graphics g = Graphics.FromImage(pictureBox1.Image);
g.DrawLine(Pens.Yellow, 0,0, 600,600);

using (Bitmap bmp = new Bitmap(pictureBox1.Width, pictureBox1.Height, g))
{
    pictureBox1.DrawToBitmap(bmp, pictureBox1.ClientRectangle);
    bmp.Save(@"C:\test.jpg",System.Drawing.Imaging.ImageFormat.Jpeg);
}