3

请参阅以下方法:

void Paint(System.Drawing.Graphics g)
{
//How can I start record what 'g' will draw to an image object?
g.DrawLine(0,0,50,50);
g.DrawImage(...);
..
..
etc.

}

现在我怎样才能得到关于“g”画了什么的图像?
谢谢 :)

4

2 回答 2

3

你可以试试...

using (Graphics g=Graphics.FromImage(inImage)) 
{ 
  g.Clear(Color.White); 
  g.DrawLine(0,0,50,50); 
} 

然后,这将在图像上绘制线条。只要确保图像足够大...

您还可以通过覆盖 OnPaint 事件并从 eventArgs 获取图形对象来直接绘制到表单上。

于 2012-04-17T07:40:10.220 回答
2

你可以做这个

Bitmap bmp;
...
{
 InitializeComponent();
 bmp = new Bitmap(this.Width,this.Height,Graphics.FromHwnd(this.Handle));
}

void Paint(object sender, System.Windows.Forms.PaintEventArgs e)
{
  Graphics g = Graphics.FromImage(bmp);
  g.DrawLine(0,0,50,50);
  ..
  .. 
  e.Graphics.DrawImage(bmp,0,0);
}
于 2012-04-17T07:54:55.343 回答