2011-03-10 57 views
0

我試圖在C#表單應用程序上創建流暢的動畫。在C#中使用繪圖調用的流暢動畫

我基本上需要做的是調用一些繪圖函數來創建UI的佈局。

我已經在網上看過,並嘗試了很多替代方法,但沒有一個在可見閃爍方面已經完全成功。

我設置表格屬性:

this.SetStyle(ControlStyles.AllPaintingInWmPaint | ControlStyles.UserPaint | ControlStyles.OptimizedDoubleBuffer, true); 
this.DoubleBuffered = true; 

然後,我有一個單獨的線程來繪製菜單中的一個,我在構成圖像內存中的位圖中,然後打印結果屏幕。

Bitmap curBitmap = new Bitmap(200, 700); 
Graphics tempGraph1; 
tempGraph1 = Graphics.FromImage(curBitmap); 

tempGraph1.FillRectangle(s1.color, r1); 
tempGraph1.FillEllipse(s1.color, e1); 
tempGraph1.FillEllipse(Brushes.White, c1); 

formGraphT1.DrawImage(curBitmap, 0, timer1_count); 

所以,即使每個週期只有一個DrawImage調用,一些閃爍仍然很明顯。感覺像fps率是有限的地方或像雙緩衝實際上沒有發生。 有什麼想法?

感謝, .A

回答