2012-04-17 69 views
2

请参见下面的方法:如何获取System.Drawing.Graphics对象绘制的图像?

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”画的图像?
谢谢:)

+1

我认为你必须要更具体的即你要查看屏幕上的图像?你想保存图像文件? – nmaait 2012-04-17 07:39:18

+0

假设我有一个图形对象'g',并且我画了线条,矩形,..等, 如果我想获得一个准备好的图像, – 2012-04-17 07:44:14

回答

2

你可以试试...

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

这会然后绘制的图像行。只需确保图像足够大...

此外,您可以通过重写OnPaint事件并从eventArgs中获取图形对象来直接绘制表单。

1

你可以这样做一个

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