[發明專利]一種基于GDI的界面分塊刷新方法有效
| 申請號: | 201310291813.6 | 申請日: | 2013-07-10 |
| 公開(公告)號: | CN103400565A | 公開(公告)日: | 2013-11-20 |
| 發明(設計)人: | 劉炳憲;謝菊元;王焱輝;王克惠;丁宇鐘 | 申請(專利權)人: | 寧波江豐生物信息技術有限公司 |
| 主分類號: | G09G5/00 | 分類號: | G09G5/00 |
| 代理公司: | 上海申新律師事務所 31272 | 代理人: | 竺路玲 |
| 地址: | 315400 浙江省寧*** | 國省代碼: | 浙江;33 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 基于 gdi 界面 分塊 刷新 方法 | ||
技術領域
本發明涉及一種視頻圖像處理技術,尤其涉及一種基于GDI的界面分塊刷新方法。
背景技術
GDI:Graphics?Device?Interface,即圖形設備接口,是windows?API(windows?Application?Programming?Interface)的一個重要組成部分。GDI使用戶無需關心具體顯示設備的細節(如顯示器、打印機等),只要用戶在一個虛擬的環境(既邏輯設備)中進行操作,就能把畫面顯示在實際設備中。
DC(Device?Context,設備上下文)是GDI的一種結構的實例,用于儲存具體設備的能力以及如何在該設備上繪制一些項目的有關屬性。所謂屏幕DC,直接與屏幕關聯,通過GDI接口,操作屏幕DC,可以使屏幕上繪制的內容發生變化。所謂內存DC,與屏幕的DC有著一樣的上下文,但不直接與屏幕相關聯,操作內存DC,再把內存DC全部拷貝至屏幕DC,使顯示器的顯示內容發生變化。這就是所謂的雙緩存技術,可以一定程度減少屏幕閃爍。
圖1示出了內存DC和屏幕DC之間的數據塊移動示意圖,雙緩存技術具體包括下列步驟:
圖像顯示系統由外部通過網絡數據流,提供圖像數據,且一屏所需要顯示的M*N個圖像數據塊,分不同時段到達所需顯示系統;
從外部獲得一小塊待繪制圖片的數據,如附圖1所示的圖像塊(i,j);
把該圖像塊存儲至圖像塊序列數組,數組總大小為M*N;
獲取GDI對象,即一個窗體控件的屏幕DC,用于最終顯示圖片,如附圖1所示的屏幕DC,制作與該屏幕DC相同的一份拷貝---內存DC,如附圖1所示的內存DC,新做的內存DC與屏幕DC有著相似的屬性,但不同的顯示內容;
計算該小塊數據在內存DC同時也是屏幕DC上的繪制坐標(I,J);
遍歷圖像塊序列數組中的所有圖像塊,在內存DC上的(I,J)坐標處繪制圖像塊(i,j),依次繪制所有圖像塊,如附圖1的內存DC圖所示;
一次性拷貝整個內存DC內容到屏幕DC;
刷新該窗體控件;
完成小塊圖繪制。
現有技術中的主要不足主要體現在:由于新做的內存DC與屏幕DC有著不同的顯示內容,默認狀態下,新做的內存DC顯示內容為一塊全黑的顯示區域,通過現有方法,將這一整塊黑色的DC上繪制系統已收到的若干塊圖像內容,再拷貝至屏幕DC,這樣會導致屏幕DC除了繪制過的若干處外其他部分顯示為黑色。利用以上現有的屏幕刷新技術,在快速獲得小塊圖(1秒鐘獲得20塊小塊圖)的系統中,使得屏幕顯示區域會不停地有黑色區域出現,引起畫面閃爍,出現非常不好的用戶體驗。
現有的方法保存了一個總容量為M*N的圖像塊數組,在得到每一個圖像塊i,j)以后,都會遍歷該數組,把數組中所有的圖像塊依次繪制到內存DC上(因為每次都會新做一個DC,如果不把數組里的圖像塊全部繪制一遍,就無法顯示除了第(i,j)塊之外的其他圖像塊),這樣的方法非常浪費時間。
由于需要顯示圖片的窗體控件上,可能還有子窗體控件,操作系統對這類存在子窗體控件的窗體控件的刷新規則是:首先刷新父控件,子窗體控件被父窗體控件繪制的圖像覆蓋,之后再單獨刷新子窗體控件。這在快速獲得小塊圖的系統中(1秒鐘獲得20塊小圖),會使子窗體控件處于不停地顯示不同的內容,或父窗體控件在該位置需要顯示的圖像,或子窗體控件本身的顯示內容,在視覺上感到子窗體控件不停地閃爍。
發明內容
針對上述存在的問題,本發明的目的是提供一種基于GDI的界面分塊刷新技術,以解決在畫面快速刷新的系統中,使屏幕始終顯示圖像信息的問題,不會出現無用的黑色圖塊,并且使用戶無法感覺到畫面及子控件的閃爍。
本發明的目的是通過下述技術方案實現的:
一種基于GDI的界面分塊刷新方法,應用于圖像顯示系統,所述圖像顯示系統具有屏幕及其窗體控件,所述窗體控件具有屏幕DC,所述圖像顯示系統由外部通過網絡數據流提供圖像數據,且一個所述屏幕所需要顯示的多個圖像數據塊分不同時段到達所述圖像顯示系統,其中,包括下列步驟:
S1.在所述圖像顯示系統啟動時獲取所述屏幕DC;
S2.制作與所述屏幕DC具有相似屬性與不同顯示內容的內存DC;
S3.從系統外部獲得一待繪制圖片的數據塊及其坐標值;
S4.計算該數據塊在所述內存DC上的繪制坐標;
S5.在所述內存DC上相應坐標處繪制映射圖像塊,繪制完成后保留原所述內存DC;
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于寧波江豐生物信息技術有限公司,未經寧波江豐生物信息技術有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201310291813.6/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:半導體器件及其形成方法
- 下一篇:一種基于RFID技術的電動車防盜裝置





