graphics雙緩存
發布時間: 2023-09-10 18:08:23
⑴ VB.net繪圖具體如何設置雙緩沖
VB.NET畫圖是不能設置雙緩沖的,雙緩沖是指窗體,從來沒說是針對控制項。
不用graphic.clear清理重畫就不會閃爍。你可以先把容器刪了再重新建立一個再去畫。
簡單舉例:
Graphics g;
Pen p;
Panel pl;
構造函數初始化:
p=new Pen(Color.Red,2);
pl=panel1;
造成閃爍的畫法:
g=pl.CreateGraphics();
g.Clear(SystemColor.ButtonFace);
//.....畫新的
不會閃爍的辦法:
this.Controls.ReMoveAt(panel1);
pl=new Panel();
pl.Name="panel1";
//....創建容器控制項
this.Controls.Add(pl);
//繼續畫
⑵ gdi+雙緩存繪圖虛擬畫布必須是bitmap對象嗎
我再來詳細解釋一下剛才實現雙緩沖的具體步驟:
1、在內存中建立一塊「虛擬畫布」:
Bitmap bmp = new Bitmap(600, 600);
2、獲取這塊內存畫布的Graphics引用:
Graphics g = Graphics.FromImage(bmp);
3、在這塊內存畫布上繪圖:
g.FillEllipse(brush, i * 10, j * 10, 10, 10);
4、將內存畫布畫到窗口中
this.CreateGraphics().DrawImage(bmp, 0, 0);
====================
maybe better
熱點內容