从用户绘制的PictureBox中保存图像,其SizeMode =在C#winforms中拉伸

时间:2012-01-02 08:40:21

标签: c# winforms graphics drawing gdi+

我在处于拉伸模式的图片框上绘制图像,我通过使用函数来转换鼠标单击事件上的鼠标坐标,以获取真实坐标并通过覆盖绘制事件并使用绘制来绘制图像事件图形。 由于图片框设置为拉伸,当我尝试使用picturebox.DrawtoBitmap功能保存图像时,我只获得一个小尺寸的图像。额外的部分用黑色填充。请帮助我。

1 个答案:

答案 0 :(得分:7)

你可以试试这个:

using (Bitmap bmp = new Bitmap(pictureBox1.ClientSize.Width,
                               pictureBox1.ClientSize.Height)) {
  using (Graphics g = Graphics.FromImage(bmp)) {
    g.DrawImage(yourBitmap,
                new Rectangle(0, 0, bmp.Width, bmp.Height),
                new Rectangle(0, 0, yourImage.Width, yourImage.Height),
                GraphicsUnit.Pixel);
  }
  bmp.Save(@"c:\yourfile.png", ImageFormat.Png);
}