2012-04-17 71 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); 
}