簡體   English   中英

使用繪圖調用在C#中平滑動畫

[英]smooth animation in C# with drawing calls

我正在嘗試在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速率這樣的感覺受到限制,或者實際上根本沒有發生雙重緩沖。 有什么想法嗎?

謝謝

您是否嘗試過在繪圖前后調用SuspendLayout / ResumeLayout

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM