




下載本文檔
版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、利用雙緩存技術(shù)提高GDI+的繪圖效果摘要在進(jìn)行圖像處理的軟件中,一般的圖形處理程序需要大量的繪圖操作,首要解決的就是繪圖的效率和效果問(wèn)題:前者表現(xiàn)在性能方面,是否有延遲,一個(gè)小小的交互操作是否要等上幾秒才能看到結(jié)果;后者表現(xiàn)在重新繪制或刷新的過(guò)程中出現(xiàn)閃爍?本文主要介紹GDI+程序中引用雙緩沖技術(shù)以解決重繪時(shí)出現(xiàn)的閃爍問(wèn)題提高繪圖效果。關(guān)鍵字:GDI+;雙緩存;快速;緩存位圖;效果引言在使用GDI+的實(shí)際的繪圖中,繪圖窗口內(nèi)容或大小每改變一次,都要調(diào)用Paint事件進(jìn)行重繪操作,該操作會(huì)使畫(huà)面重新刷新一次以維持窗口正常顯示。這樣的效率非常低,不僅達(dá)不到性能要求,而且還可能會(huì)出現(xiàn)閃爍的現(xiàn)象。刷新
2、過(guò)程中會(huì)導(dǎo)致所有圖元重新繪制,而各個(gè)圖元的重繪操作并不會(huì)導(dǎo)致Paint事件發(fā)生,因此窗口的每一次刷新只會(huì)調(diào)用Paint事件一次。窗口刷新一次的過(guò)程中,每一個(gè)圖元的重繪都會(huì)立即顯示到窗口,因此整個(gè)窗口中,只要是圖元所在的位置,都在刷新,而刷新的時(shí)間是有差別的,閃爍現(xiàn)象自然會(huì)出現(xiàn)。所以說(shuō),此時(shí)導(dǎo)致窗口閃爍現(xiàn)象的關(guān)鍵因素并不在于Paint事件調(diào)用的次數(shù)多少,而在于各個(gè)圖元的重繪。根據(jù)以上分析可知,當(dāng)圖元數(shù)目不多時(shí),窗口刷新的位置也不多,窗口閃爍效果并不嚴(yán)重;當(dāng)圖元數(shù)目較多時(shí),繪圖窗口進(jìn)行重繪的圖元數(shù)量增加,繪圖窗口每一次刷新都會(huì)導(dǎo)致較多的圖元重新繪制,窗口的較多位置都在刷新,閃爍現(xiàn)象自然就會(huì)越來(lái)越嚴(yán)
3、重。特別是圖元比較大繪制時(shí)間比較長(zhǎng)時(shí),閃爍問(wèn)題會(huì)更加嚴(yán)重,因?yàn)闀r(shí)間延遲會(huì)更長(zhǎng)。1、雙緩存技術(shù)為了解決畫(huà)圖的效率問(wèn)題,我們引進(jìn)了雙緩存技術(shù),雙緩沖技術(shù)早在GDI的程序開(kāi)發(fā)中,就已經(jīng)開(kāi)始使用。在普通的繪圖模式下,圖像處理程序是按照設(shè)計(jì)的順序,將被繪制的元素一個(gè)接一個(gè)地在目標(biāo)設(shè)備上進(jìn)行繪制。何謂“雙緩沖”?它的基本原理就是:先在內(nèi)存中開(kāi)辟一塊虛擬畫(huà)布,然后將所有需要畫(huà)的圖形先畫(huà)在這塊“虛擬畫(huà)布”上,最后在一次性將整塊畫(huà)布畫(huà)到真正的窗體上。因?yàn)樗械膯蝹€(gè)圖形的繪制都不是真正的調(diào)用顯示系統(tǒng)“畫(huà)”,所以不會(huì)占用顯示系統(tǒng)的開(kāi)銷(xiāo),極大的提高的繪圖效率。其原理如圖1所示。13 圖1:雙緩存繪制原理示意2、引進(jìn)雙
4、緩存技術(shù)解決實(shí)際中的問(wèn)題采用雙緩沖技術(shù),由于繪圖操作大部份都在內(nèi)存中完成,所以繪圖速度沒(méi)有太大的制約。在. NET 中,由于GDI+的引入,實(shí)現(xiàn)雙緩沖更加簡(jiǎn)單:首先建立緩沖區(qū),從緩沖區(qū)取得Graphics 對(duì)象,使用其進(jìn)行繪圖;然后將緩沖區(qū)內(nèi)已繪制好的圖像拷貝到目標(biāo)設(shè)備上顯示。3詳細(xì)說(shuō)明一下雙緩存的具體實(shí)現(xiàn)步驟:1、 在內(nèi)存中建立一塊“虛擬畫(huà)布”:Bitmap bmp = new Bitmap(600, 600;2、 獲取這塊內(nèi)存畫(huà)布的Graphics 引用:Graphics g = Graphics.FromImage(bmp;3、 在這塊內(nèi)存畫(huà)布上繪圖: 4、 將內(nèi)存畫(huà)布畫(huà)到窗口中: 5、最后雙緩存的實(shí)現(xiàn): 3、結(jié)論以上方法可以用來(lái)去除GDI畫(huà)圖時(shí)的閃爍問(wèn)題,雙緩存技術(shù)的引用提高了圖像程序顯示的性能,當(dāng)然在緩沖區(qū)還可以實(shí)現(xiàn)很多高級(jí)的圖形操作,比如透明,合成等等,這取決于具體的算法。因此用好緩存不僅可以極大地提高程序的交互速度,而且會(huì)讓?xiě)?yīng)用軟件有一個(gè)流暢的圖形顯示。當(dāng)進(jìn)行復(fù)雜的繪圖操作時(shí),使用雙緩沖技術(shù),可以有效地防止畫(huà)面的閃爍。參考文獻(xiàn):2 MaheshChand.GD
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 幼兒園食堂設(shè)備維護(hù)安全檢查計(jì)劃
- 七年級(jí)第一學(xué)期體育基礎(chǔ)技能訓(xùn)練計(jì)劃
- 高中班主任成績(jī)提升輔導(dǎo)計(jì)劃
- 2024-2025學(xué)年幼兒園親師溝通協(xié)同計(jì)劃
- 餐飲行業(yè)疫情物資保障措施
- 2025年團(tuán)委校園公益項(xiàng)目計(jì)劃
- 小學(xué)三年級(jí)數(shù)學(xué)教師課件制作計(jì)劃
- 家電產(chǎn)品供貨期保證措施
- 2025特殊教育教師網(wǎng)絡(luò)教學(xué)心得體會(huì)
- 新北師大版五年級(jí)數(shù)學(xué)問(wèn)題解決技能計(jì)劃
- 2024廣西欽州市北部灣大學(xué)招聘審計(jì)處工程審計(jì)科科員1人筆試備考題庫(kù)及答案解析
- 《工業(yè)用水軟化除鹽設(shè)計(jì)規(guī)范》
- 測(cè)繪工程專(zhuān)業(yè)介紹
- 《哮喘持續(xù)狀態(tài)》課件
- 絲蟲(chóng)病中藥治療研究
- 高中英語(yǔ)閱讀教學(xué)計(jì)劃中的批判性思維與課堂實(shí)踐
- 中石油干部履職評(píng)估報(bào)告
- 居家養(yǎng)老上門(mén)服務(wù)投標(biāo)方案(技術(shù)方案)
- 2023年廣東省深圳市坪山美術(shù)館首批人員招聘10人筆試參考題庫(kù)(共500題)答案詳解版
- 數(shù)據(jù)挖掘(第2版)完整全套課件-第1-8章-緒論、數(shù)據(jù)處理基礎(chǔ)-數(shù)據(jù)挖掘的金融應(yīng)用
- 學(xué)習(xí)社會(huì)主義核心價(jià)值觀課件
評(píng)論
0/150
提交評(píng)論