国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發(fā) > 綜合 > 正文

C#的雙緩存技術(shù)

2024-07-21 02:26:34
字體:
供稿:網(wǎng)友

protected override void onpaint(painteventargs e)
  {

   system.drawing.bitmap b = new bitmap(this.width,this.height);//雙緩沖技術(shù),先將所有要畫的畫在該圖片中,再調(diào)用gs畫出該圖片.
   graphics g = graphics.fromimage((system.drawing.image)b);
   //

在這里畫你所需要畫的

//
   e.graphics.drawimage((system.drawing.image)b,0,0);
   g.dispose();

base.onpaint (e);
  
  }

 

其中要用到的一個技術(shù)就是雙緩存技術(shù),雙緩沖技術(shù)是為了解決界面閃爍而采用的一項技術(shù),就是將要繪制的界面先繪制在內(nèi)存中一個虛擬的、和正在顯示的界面同樣大小的一個區(qū)域上,界面變化時將這個內(nèi)存中的圖象一次性繪制到屏幕上。graphics gxoff;if (m_bmpoffscreen == null) //要雙緩沖的位圖。m_bmpoffscreen = new bitmap(clientsize.gxoff = graphics.gxoff.//繪制一些位圖。//從內(nèi)存位圖繪制。}在上面的代碼中,我們通過調(diào)用 graphics 類的靜態(tài) fromimage 方法在與我們的控件大小相同的空位圖中創(chuàng)建了一個 graphics 對象。

======================================

通常,雙緩存邏輯如下所示:

protected override void onpaint(painteventargs e ){graphics gxoff; //屏幕外的圖像   if (m_bmpoffscreen == null) //要雙緩沖的位圖   {      m_bmpoffscreen = new bitmap(clientsize.width, clientsize.height);   }            gxoff = graphics.fromimage(m_bmpoffscreen);   gxoff.clear(this.backcolor);   //繪制一些位圖   gxoff.drawimage(bmpparent, 0, 0, bmprect, graphicsunit.pixel);      //邊界矩形rectangle rc = this.clientrectangle;   rc.width--;   rc.height--;               //繪制邊界   gxoff.drawrectangle(new pen(color.black), rc);   //從內(nèi)存位圖繪制   e.graphics.drawimage(m_bmpoffscreen, 0, 0);   base.onpaint( e );}
在上面的代碼中,我們通過調(diào)用 graphics 類的靜態(tài) fromimage 方法在與我們的控件大小相同的空位圖中創(chuàng)建了一個 graphics 對象。我們在內(nèi)存中的 graphics 對象上進(jìn)行所有的繪圖,完成后,將整個準(zhǔn)備好的位圖覆蓋到控件的圖形上即可。

添加這段代碼
public void refresh()
{
setstyle(controlstyles.supportstransparentbackcolor,true);
setstyle(controlstyles.allpaintinginwmpaint, true);
setstyle(controlstyles.userpaint, true);
setstyle(controlstyles.doublebuffer, true);
refresh();
}

 

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 栾城县| 杭州市| 上林县| 缙云县| 东源县| 游戏| 独山县| 庆元县| 伽师县| 昌黎县| 正镶白旗| 藁城市| 新乐市| 剑川县| 沈丘县| 长泰县| 喀喇| 龙川县| 手游| 桦南县| 宁陕县| 明水县| 岳阳市| 临漳县| 柳江县| 合山市| 九龙城区| 望江县| 临安市| 卓资县| 尉氏县| 夏邑县| 金山区| 锦屏县| 蓬溪县| 襄垣县| 方正县| 周宁县| 友谊县| 德兴市| 建阳市|