欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種圖層渲染方法及裝置的制作方法

文檔序號(hào):6434204閱讀:191來(lái)源:國(guó)知局
專利名稱:一種圖層渲染方法及裝置的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及圖形處理領(lǐng)域,尤其涉及的是一種圖層渲染方法及裝置。
背景技術(shù)
通常,在圖形處理技術(shù)中,為了對(duì)圖像中的每個(gè)對(duì)象(或者說每個(gè)元素)進(jìn)行操作, 把每個(gè)對(duì)象稱之為圖層,一張圖片由若干個(gè)圖層組合而成且各個(gè)圖層之間具有順序關(guān)系。 這樣,當(dāng)有圖層發(fā)生改變的時(shí)候,由于各個(gè)圖層有順序關(guān)系,需要對(duì)該圖片所有圖層對(duì)象重新進(jìn)行繪制,當(dāng)圖層數(shù)量很多的時(shí)候,該繪制渲染會(huì)花費(fèi)很多的時(shí)間。定義一張圖片稱之為一頁(yè),設(shè)當(dāng)前頁(yè)有N個(gè)圖層(其中,帖1,2,3丨),用于顯示的數(shù)據(jù)結(jié)構(gòu)為ViewLiig,重新繪制一頁(yè)的時(shí)間為T。現(xiàn)有技術(shù)中,當(dāng)這N個(gè)圖層中的第M個(gè)發(fā)生變化的時(shí)候(其中M e [1,N]),為了對(duì)變化后的頁(yè)進(jìn)行刷新,需要對(duì)所有N個(gè)圖層重新進(jìn)行繪制并直接繪制到數(shù)據(jù)結(jié)構(gòu)ViewImg中,從而達(dá)到刷新的效果。現(xiàn)有技術(shù)的這種方法,非常耗費(fèi)時(shí)間,如果只修改了一個(gè)層,便需要重新繪制所有的層,特別是當(dāng)N比較大的情況下,這時(shí)候時(shí)間消耗相當(dāng)大。算法的時(shí)間復(fù)雜度為T=k*N (其中k為一個(gè)常系數(shù),N為圖層數(shù)量),耗費(fèi)的時(shí)間隨著圖層數(shù)量N的增多而成線性增長(zhǎng),大大影響了圖形處理效率。因此,現(xiàn)有技術(shù)還有待于改進(jìn)和發(fā)展。

發(fā)明內(nèi)容
本發(fā)明要解決的技術(shù)問題在于,針對(duì)現(xiàn)有技術(shù)的上述缺陷,提供一種圖層渲染方法及裝置,通過增加兩個(gè)存放圖層渲染中間結(jié)果的第二存儲(chǔ)數(shù)據(jù)結(jié)構(gòu)UnderImg和第一存儲(chǔ)數(shù)據(jù)結(jié)構(gòu)Toplmg,大大減少了圖層渲染的時(shí)間,尤其當(dāng)產(chǎn)品有比較多頁(yè)的情況下,修改、 拖動(dòng)圖層后依舊能夠快速的展示給用戶,提高產(chǎn)品的效率。本發(fā)明解決技術(shù)問題所采用的技術(shù)方案如下 一種圖層渲染方法,其中,包括如下步驟
A、檢測(cè)當(dāng)前畫布是否有圖層發(fā)生變化,當(dāng)是時(shí),查找出當(dāng)前變化圖層所在畫布的第一位置參數(shù),并將當(dāng)前變化圖層的第一位置參數(shù)與上一次發(fā)生圖層變化的第二位置參數(shù)進(jìn)行比較,判斷是否相等;
B、當(dāng)所述第一位置參數(shù)與所述第二位置參數(shù)相等時(shí),直接將預(yù)設(shè)的第一存儲(chǔ)數(shù)據(jù)結(jié)構(gòu)中存儲(chǔ)的第一圖層內(nèi)容、預(yù)設(shè)的第二存儲(chǔ)數(shù)據(jù)結(jié)構(gòu)中存儲(chǔ)的第二圖層內(nèi)容、以及當(dāng)前發(fā)生變化后的當(dāng)前圖層內(nèi)容,渲染繪制到顯示數(shù)據(jù)結(jié)構(gòu)中;
其中,所述畫布中的各個(gè)圖層對(duì)應(yīng)有各自的位置參數(shù);所述第一圖層內(nèi)容為對(duì)所有小于所述第二位置參數(shù)的位置參數(shù)對(duì)應(yīng)的圖層進(jìn)行渲染后生成的第一圖層內(nèi)容;所述第二圖層內(nèi)容為對(duì)所有大于所述第二位置參數(shù)的位置參數(shù)對(duì)應(yīng)的圖層進(jìn)行渲染后生成的第二圖層內(nèi)容。所述的圖層渲染方法,其中,在所述步驟A之前還包括a、定義用于顯示畫布圖層內(nèi)容的顯示數(shù)據(jù)結(jié)構(gòu)ViewLiig,并增加兩個(gè)用于存放渲染中間結(jié)果的第二存儲(chǔ)數(shù)據(jù)結(jié)構(gòu)UnderImg和第一存儲(chǔ)數(shù)據(jù)結(jié)構(gòu)TopMg。所述的圖層渲染方法,其中,所述步驟A具體包括
Al、當(dāng)需對(duì)圖層進(jìn)行渲染時(shí),檢測(cè)當(dāng)前畫布是否有圖層發(fā)生變化;當(dāng)是時(shí)進(jìn)入步驟A2 ; A2、查找出當(dāng)前變化圖層所在畫布的第一位置參數(shù)M,并將當(dāng)前變化圖層的第一位置參數(shù)M與上一次發(fā)生圖層變化的第二位置參數(shù)K進(jìn)行比較,判斷是否相等。所述的圖層渲染方法,其中,當(dāng)所述步驟A中當(dāng)前變化圖層的第一位置參數(shù)M與上一次發(fā)生圖層變化的第二位置參數(shù)K不相等時(shí),則以當(dāng)前變化圖層第M圖層為分界點(diǎn),對(duì)所有小于所述第一位置參數(shù)M的位置參數(shù)對(duì)應(yīng)的圖層進(jìn)行渲染繪制生成第二圖層內(nèi)容,存放在第二存儲(chǔ)數(shù)據(jù)結(jié)構(gòu)UnderImg中;對(duì)所有大于所述第一位置參數(shù)M的位置參數(shù)對(duì)應(yīng)的圖層進(jìn)行渲染繪制生成第一圖層內(nèi)容,存放在第一存儲(chǔ)數(shù)據(jù)結(jié)構(gòu)TopImg中;
把第二存儲(chǔ)數(shù)據(jù)結(jié)構(gòu)UnderImg中的第二圖層內(nèi)容、第一存儲(chǔ)數(shù)據(jù)結(jié)構(gòu)TopImg中的第一圖層內(nèi)容與當(dāng)前變化圖層第M圖層渲染繪制到用于顯示畫布圖層內(nèi)容的顯示數(shù)據(jù)結(jié)構(gòu) ViewImg中,即完成一次畫布的渲染,生成一幅渲染后的新圖。所述的圖層渲染方法,其中,所述步驟B具體包括
Bi、當(dāng)當(dāng)前變化圖層的第一位置參數(shù)M與上一次發(fā)生圖層變化的第二位置參數(shù)K相等時(shí),直接將上一次存放在第二存儲(chǔ)數(shù)據(jù)結(jié)構(gòu)UnderImg中的第二圖層內(nèi)容、及上一次存放在第一存儲(chǔ)數(shù)據(jù)結(jié)構(gòu)TopImg中的第一圖層內(nèi)容渲染繪制到用于顯示畫布圖層內(nèi)容的顯示數(shù)據(jù)結(jié)構(gòu)ViewLng中,再把當(dāng)前變化的第M個(gè)圖層渲染繪制到顯示數(shù)據(jù)結(jié)構(gòu)ViewLng中,即完成一次畫布的渲染,生成一幅渲染后的新圖。所述的圖層渲染方法,其中,還包括
步驟D、每完成一次渲染生成一幅渲染后的新圖后,把當(dāng)前發(fā)生變化的第M圖層的第一位置參數(shù)M賦予給第二位置參數(shù)K,等待新的圖層發(fā)生變化,并返回步驟A。一種圖層渲染裝置,其中,包括
定義與增設(shè)模塊,用于定義用于顯示畫布圖層內(nèi)容的顯示數(shù)據(jù)結(jié)構(gòu)ViewLiig,并增加兩個(gè)用于存放渲染中間結(jié)果的第二存儲(chǔ)數(shù)據(jù)結(jié)構(gòu)UnderImg和第一存儲(chǔ)數(shù)據(jù)結(jié)構(gòu)TopImg ;
檢測(cè)與判斷模塊,用于檢測(cè)當(dāng)前畫布是否有圖層發(fā)生變化,當(dāng)是時(shí),查找出當(dāng)前變化圖層所在畫布的第一位置參數(shù),并將當(dāng)前變化圖層的第一位置參數(shù)與上一次發(fā)生圖層變化的第二位置參數(shù)進(jìn)行比較,判斷是否相等;
第一渲染模塊,用于當(dāng)當(dāng)前變化圖層的第一位置參數(shù)與上一次發(fā)生圖層變化的第二位置參數(shù)相等時(shí),直接將上一次存放在第二存儲(chǔ)數(shù)據(jù)結(jié)構(gòu)UnderImg中的第二圖層內(nèi)容、及上一次存放在第一存儲(chǔ)數(shù)據(jù)結(jié)構(gòu)TopImg中的第一圖層內(nèi)容渲染繪制到用于顯示畫布圖層內(nèi)容的顯示數(shù)據(jù)結(jié)構(gòu)ViewLng中,再把第一位置參數(shù)對(duì)應(yīng)的圖層渲染繪制到顯示數(shù)據(jù)結(jié)構(gòu) ViewImg中,即完成一次畫布的渲染,生成一幅渲染后的新圖。所述的圖層渲染裝置,其中,其還包括
第二渲染模塊,用于當(dāng)當(dāng)前變化圖層的第一位置參數(shù)M與上一次發(fā)生圖層變化的第二位置參數(shù)K不相等時(shí),則以當(dāng)前變化圖層第M圖層為分界點(diǎn),對(duì)所有小于所述第一位置參數(shù)M的位置參數(shù)對(duì)應(yīng)的圖層進(jìn)行渲染繪制生成第二圖層內(nèi)容,存放在第二存儲(chǔ)數(shù)據(jù)結(jié)構(gòu) UnderImg中;對(duì)所有大于所述第一位置參數(shù)M的位置參數(shù)對(duì)應(yīng)的圖層進(jìn)行渲染繪制生成第一圖層內(nèi)容,存放在第一存儲(chǔ)數(shù)據(jù)結(jié)構(gòu)TopImg中;再把第二存儲(chǔ)數(shù)據(jù)結(jié)構(gòu)UnderImg中的第二圖層內(nèi)容、第一存儲(chǔ)數(shù)據(jù)結(jié)構(gòu)TopImg中的第一圖層內(nèi)容與當(dāng)前變化圖層第M圖層渲染繪制到用于顯示畫布圖層內(nèi)容的顯示數(shù)據(jù)結(jié)構(gòu)ViewImg中,即完成一次畫布的渲染,生成一幅渲染后的新圖。所述的圖層渲染裝置,其中,其還包括
重新賦值模塊,用于每完成一次渲染生成一幅渲染后的新圖后,把當(dāng)前發(fā)生變化的第M 圖層的第一位置參數(shù)M賦予給第二位置參數(shù)K,等待新的圖層發(fā)生變化。本發(fā)明的圖層渲染方法及裝置,通過增加兩個(gè)存放圖層渲染中間結(jié)果的第二存儲(chǔ)數(shù)據(jù)結(jié)構(gòu)UnderImg和第一存儲(chǔ)數(shù)據(jù)結(jié)構(gòu)TopImg,避免了某個(gè)圖層發(fā)生變化需對(duì)該頁(yè)中的所有圖層重新繪制,大大減少了圖層渲染的時(shí)間;當(dāng)?shù)诙尾僮魍粋€(gè)圖層的時(shí)候,可以只渲染三個(gè)對(duì)象,從而達(dá)到節(jié)省算法時(shí)間的目的,特別是在圖層數(shù)量N比較大的情況下,修改、拖動(dòng)圖層后依舊能夠快速的展示給用戶,可以節(jié)省大量的時(shí)間,提高了產(chǎn)品的效率。跟普通渲染算法相比,節(jié)省的時(shí)間隨著圖層數(shù)量N的增大而成增大。


圖1是本發(fā)明實(shí)施例的圖層渲染方法的流程圖。圖2是本發(fā)明實(shí)施例的圖層渲染裝置原理框圖。
具體實(shí)施例方式本發(fā)明的一種圖層渲染方法及裝置,為使本發(fā)明的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚、明確,以下參照附圖并舉實(shí)施例對(duì)本發(fā)明進(jìn)一步詳細(xì)說明。應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。本發(fā)明實(shí)施例的一種圖層渲染方法,主要包括如下步驟
首先定義一張圖片稱之為畫布或者一頁(yè)。設(shè)當(dāng)前畫布有N個(gè)圖層(其中,N = 1,2,3 …),并定義一張圖片當(dāng)前畫布用于顯示的顯示數(shù)據(jù)結(jié)構(gòu)ViewLng,重新繪制一畫布的時(shí)間為T。設(shè)當(dāng)前變化的圖層為第一位置參數(shù)M的位置參數(shù)對(duì)應(yīng)的圖層,即第M圖層,上一次發(fā)生變化的圖層為第二位置參數(shù)K的位置參數(shù)對(duì)應(yīng)的圖層,即第K圖層(M e [2,N], K e [2,N])。當(dāng)然,本發(fā)明實(shí)施例中M和K只是為了便于說明使用的字母,不限于字母M和 K0并增加兩個(gè)用于存放渲染中間結(jié)果的第二存儲(chǔ)數(shù)據(jù)結(jié)構(gòu)UnderImg和第一存儲(chǔ)數(shù)據(jù)結(jié)構(gòu)TopImg ;當(dāng)需對(duì)圖層進(jìn)行渲染時(shí),如圖1所示,開始進(jìn)入步驟S110。S110、初始化相關(guān)顯示的顯示數(shù)據(jù)結(jié)構(gòu)Viewing、第二存儲(chǔ)數(shù)據(jù)結(jié)構(gòu)UnderImg、第一存儲(chǔ)數(shù)據(jù)結(jié)構(gòu)TopMg。S120、檢測(cè)當(dāng)前畫布是否有圖層發(fā)生變化,當(dāng)是時(shí),查找出當(dāng)前變化圖層所在的位置順序M,即第M個(gè)圖層發(fā)生改變,而上次發(fā)生變化的圖層為第K個(gè)。S130、并將當(dāng)前變化圖層的第一位置參數(shù)M與上一次發(fā)生圖層變化的第二位置參數(shù)K進(jìn)行比較,判斷是否相等,即M=K ?當(dāng)M不等于K時(shí)進(jìn)入步驟S140,當(dāng)M等于K時(shí)進(jìn)入步驟S150。S140、當(dāng)當(dāng)前變化圖層的第一位置參數(shù)M與上一次發(fā)生圖層變化的第二位置參數(shù)K不相等時(shí),則以當(dāng)前變化圖層第M圖層為分界點(diǎn),對(duì)第M圖層下面的所有圖層(從第1個(gè)圖層開始到第M-I個(gè))進(jìn)行渲染繪制生成一幅圖(即第二圖層內(nèi)容),存放在第二存儲(chǔ)數(shù)據(jù)結(jié)構(gòu)UnderImg中;對(duì)第M圖層上面的所有的圖層(從第M+1個(gè)到第N個(gè))渲染繪制生成一幅圖 (即第一圖層內(nèi)容),存放在第一存儲(chǔ)數(shù)據(jù)結(jié)構(gòu)TopImg中;再把第二存儲(chǔ)數(shù)據(jù)結(jié)構(gòu)UnderImg 中的圖、第一存儲(chǔ)數(shù)據(jù)結(jié)構(gòu)TopImg中的圖與當(dāng)前變化圖層第M圖層渲染繪制到用于顯示畫布圖層內(nèi)容的顯示數(shù)據(jù)結(jié)構(gòu)ViewImg中,即完成一次畫布的渲染,生成一幅渲染后的新圖。需要說明的是,本發(fā)明實(shí)施例中,當(dāng)所述第一位置參數(shù)與所述第二位置參數(shù)不相等時(shí),第二圖層內(nèi)容的渲染、第一圖層內(nèi)容的渲染以及第M個(gè)圖層的渲染,這三個(gè)渲染的順序可以任意,步驟S140中只是其中一個(gè)實(shí)施例,最終通過該三個(gè)渲染即完成一次畫布的渲染,生成一幅渲染后的新圖。S150、當(dāng)當(dāng)前變化圖層的第一位置參數(shù)M與上一次發(fā)生圖層變化的第二位置參數(shù) K相等時(shí),直接將上一次存放在第二存儲(chǔ)數(shù)據(jù)結(jié)構(gòu)UnderImg中的圖(即第二圖層內(nèi)容)、及上一次存放在第一存儲(chǔ)數(shù)據(jù)結(jié)構(gòu)TopImg中的圖(即第一圖層內(nèi)容)渲染繪制到用于顯示的顯示數(shù)據(jù)結(jié)構(gòu)ViewImg中,再把第M個(gè)圖層渲染繪制到用于顯示畫布圖層內(nèi)容的顯示數(shù)據(jù)結(jié)構(gòu)ViewImg中,即完成一次畫布的渲染,生成一幅渲染后的新圖。需要說明的是,本發(fā)明實(shí)施例中,當(dāng)所述第一位置參數(shù)與所述第二位置參數(shù)相等時(shí),直接將預(yù)設(shè)的第一存儲(chǔ)數(shù)據(jù)結(jié)構(gòu)中存儲(chǔ)的第一圖層內(nèi)容、預(yù)設(shè)的第二存儲(chǔ)數(shù)據(jù)結(jié)構(gòu)中存儲(chǔ)的第二圖層內(nèi)容、以及當(dāng)前發(fā)生變化后的當(dāng)前圖層內(nèi)容,渲染繪制到顯示數(shù)據(jù)結(jié)構(gòu)中; 其中,第二圖層內(nèi)容的渲染、第一圖層內(nèi)容的渲染以及第M個(gè)圖層的渲染,這三個(gè)渲染的順序可以任意,步驟S150中只是其中一個(gè)實(shí)施例,最終通過該三個(gè)渲染即完成一次畫布的渲染,生成一幅渲染后的新圖。步驟S160、每完成一次渲染生成一幅渲染后的新圖后,把當(dāng)前發(fā)生變化的第M圖層的值M賦予給K,等待新的圖層發(fā)生變化,返回步驟S120。值得說明的是,本發(fā)明的圖層渲染方法在圖層數(shù)量大于3的時(shí)候,其所消耗的時(shí)間便開始小于普通渲染消耗的時(shí)間,而且本方法中渲染所消耗的時(shí)間圖層數(shù)量大于3的時(shí)候,所消耗的時(shí)間T=kl,其中kl為一常量,與渲染主機(jī)配置有關(guān),與圖層數(shù)量的大小無(wú)關(guān), 本發(fā)明方法中當(dāng)?shù)诙尾僮魍粋€(gè)圖層的時(shí)候,可以只渲染三個(gè)對(duì)象。由上可見,本發(fā)明實(shí)施例的圖層渲染方法,通過增加兩個(gè)存放圖層渲染中間結(jié)果的第二存儲(chǔ)數(shù)據(jù)結(jié)構(gòu)UnderImg和第一存儲(chǔ)數(shù)據(jù)結(jié)構(gòu)TopImg,大大減少了圖層渲染的時(shí)間, 尤其當(dāng)產(chǎn)品有比較多畫布的情況下,修改、拖動(dòng)圖層后依舊能夠快速的展示給用戶,提高產(chǎn)品的效率。基于上述實(shí)施例,本發(fā)明還提供了一種圖層渲染裝置,如圖2所示,其主要包括 定義與增設(shè)模塊210,用于定義用于顯示畫布圖層內(nèi)容的顯示數(shù)據(jù)結(jié)構(gòu)ViewLiig,
并增加兩個(gè)用于存放渲染中間結(jié)果的第二存儲(chǔ)數(shù)據(jù)結(jié)構(gòu)UnderImg和第一存儲(chǔ)數(shù)據(jù)結(jié)構(gòu) TopImg ;具體如上所述。檢測(cè)與判斷模塊220,用于檢測(cè)當(dāng)前畫布是否有圖層發(fā)生變化,當(dāng)是時(shí),查找出當(dāng)前變化圖層所在畫布的第一位置參數(shù)M,并將當(dāng)前變化圖層的第一位置參數(shù)M與上一次發(fā)生圖層變化的第二位置參數(shù)K進(jìn)行比較,判斷是否相等;具體如上所述。第一渲染模塊230,用于當(dāng)當(dāng)前變化圖層的第一位置參數(shù)M與上一次發(fā)生圖層變化的第二位置參數(shù)K相等時(shí),直接將上一次存放在第二存儲(chǔ)數(shù)據(jù)結(jié)構(gòu)UnderImg中的第二圖層內(nèi)容、及上一次存放在第一存儲(chǔ)數(shù)據(jù)結(jié)構(gòu)TopImg中的第一圖層內(nèi)容渲染繪制到用于顯示畫布圖層內(nèi)容的顯示數(shù)據(jù)結(jié)構(gòu)ViewImg中,再把第一位置參數(shù)M對(duì)應(yīng)的圖層渲染繪制到用于顯示的顯示數(shù)據(jù)結(jié)構(gòu)ViewImg中,即完成一次畫布的渲染,生成一幅渲染后的新圖;具體如上所述。第二渲染模塊M0,用于當(dāng)當(dāng)前變化圖層的第一位置參數(shù)M與上一次發(fā)生圖層變化的第二位置參數(shù)K不相等時(shí),則以當(dāng)前變化圖層第M圖層為分界點(diǎn),對(duì)所有小于所述第一位置參數(shù)M的位置參數(shù)對(duì)應(yīng)的圖層進(jìn)行渲染繪制生成第二圖層內(nèi)容,存放在第二存儲(chǔ)數(shù)據(jù)結(jié)構(gòu)UnderImg中;對(duì)所有大于所述第一位置參數(shù)M的位置參數(shù)對(duì)應(yīng)的圖層進(jìn)行渲染繪制生成第一圖層內(nèi)容,存放在第一存儲(chǔ)數(shù)據(jù)結(jié)構(gòu)TopImg中;再把第二存儲(chǔ)數(shù)據(jù)結(jié)構(gòu)UnderImg中的第二圖層內(nèi)容、第一存儲(chǔ)數(shù)據(jù)結(jié)構(gòu)TopImg中的第一圖層內(nèi)容與當(dāng)前變化圖層第M圖層渲染繪制到用于顯示畫布圖層內(nèi)容的顯示數(shù)據(jù)結(jié)構(gòu)ViewImg中,即完成一次畫布的渲染,生成一幅渲染后的新圖;具體如上所述。重新賦值模塊250,用于每完成一次渲染生成一幅渲染后的新圖后,把當(dāng)前發(fā)生變化的第M圖層的第一位置參數(shù)M賦予給第二位置參數(shù)K,等待新的圖層發(fā)生變化;具體如上所述。綜上所述,本發(fā)明的圖層渲染方法及裝置,通過增加兩個(gè)存放圖層渲染中間結(jié)果的第二存儲(chǔ)數(shù)據(jù)結(jié)構(gòu)UnderImg和第一存儲(chǔ)數(shù)據(jù)結(jié)構(gòu)Tophg,大大減少了圖層渲染的時(shí)間; 當(dāng)?shù)诙尾僮魍粋€(gè)圖層的時(shí)候,可以只渲染三個(gè)對(duì)象,從而達(dá)到節(jié)省算法時(shí)間的目的,特別是在圖層數(shù)量N比較大的情況下,修改、拖動(dòng)圖層后依舊能夠快速的展示給用戶,可以節(jié)省大量的時(shí)間,提高了產(chǎn)品的效率。跟普通渲染算法相比,節(jié)省的時(shí)間隨著圖層數(shù)量N的增大而成增大。應(yīng)當(dāng)理解的是,本發(fā)明的應(yīng)用不限于上述的舉例,對(duì)本領(lǐng)域普通技術(shù)人員來(lái)說,可以根據(jù)上述說明加以改進(jìn)或變換,所有這些改進(jìn)和變換都應(yīng)屬于本發(fā)明所附權(quán)利要求的保護(hù)范圍。
權(quán)利要求
1.一種圖層渲染方法,其特征在于,包括如下步驟A、檢測(cè)當(dāng)前畫布是否有圖層發(fā)生變化,當(dāng)是時(shí),查找出當(dāng)前變化圖層所在畫布的第一位置參數(shù),并將當(dāng)前變化圖層的第一位置參數(shù)與上一次發(fā)生圖層變化的第二位置參數(shù)進(jìn)行比較,判斷是否相等;B、當(dāng)所述第一位置參數(shù)與所述第二位置參數(shù)相等時(shí),直接將預(yù)設(shè)的第一存儲(chǔ)數(shù)據(jù)結(jié)構(gòu)中存儲(chǔ)的第一圖層內(nèi)容、預(yù)設(shè)的第二存儲(chǔ)數(shù)據(jù)結(jié)構(gòu)中存儲(chǔ)的第二圖層內(nèi)容、以及當(dāng)前發(fā)生變化后的當(dāng)前圖層內(nèi)容,渲染繪制到顯示數(shù)據(jù)結(jié)構(gòu)中;其中,所述畫布中的各個(gè)圖層對(duì)應(yīng)有各自的位置參數(shù);所述第一圖層內(nèi)容為對(duì)所有小于所述第二位置參數(shù)的位置參數(shù)對(duì)應(yīng)的圖層進(jìn)行渲染后生成的第一圖層內(nèi)容;所述第二圖層內(nèi)容為對(duì)所有大于所述第二位置參數(shù)的位置參數(shù)對(duì)應(yīng)的圖層進(jìn)行渲染后生成的第二圖層內(nèi)容。
2.根據(jù)權(quán)利要求1所述的圖層渲染方法,其特征在于,在所述步驟A之前還包括a、定義用于顯示畫布圖層內(nèi)容的顯示數(shù)據(jù)結(jié)構(gòu)ViewLiig,并增加兩個(gè)用于存放渲染中間結(jié)果的第二存儲(chǔ)數(shù)據(jù)結(jié)構(gòu)UnderImg和第一存儲(chǔ)數(shù)據(jù)結(jié)構(gòu)Tophg。
3.根據(jù)權(quán)利要求2所述的圖層渲染方法,其特征在于,所述步驟A具體包括Al、當(dāng)需對(duì)圖層進(jìn)行渲染時(shí),檢測(cè)當(dāng)前畫布是否有圖層發(fā)生變化;當(dāng)是時(shí)進(jìn)入步驟A2 ;A2、查找出當(dāng)前變化圖層所在畫布的第一位置參數(shù)M,并將當(dāng)前變化圖層的第一位置參數(shù)M與上一次發(fā)生圖層變化的第二位置參數(shù)K進(jìn)行比較,判斷是否相等。
4.根據(jù)權(quán)利要求3所述的圖層渲染方法,其特征在于,當(dāng)所述步驟A中當(dāng)前變化圖層的第一位置參數(shù)M與上一次發(fā)生圖層變化的第二位置參數(shù)K不相等時(shí),則以當(dāng)前變化圖層第 M圖層為分界點(diǎn),對(duì)所有小于所述第一位置參數(shù)M的位置參數(shù)對(duì)應(yīng)的圖層進(jìn)行渲染繪制生成第二圖層內(nèi)容,存放在第二存儲(chǔ)數(shù)據(jù)結(jié)構(gòu)UnderImg中;對(duì)所有大于所述第一位置參數(shù)M 的位置參數(shù)對(duì)應(yīng)的圖層進(jìn)行渲染繪制生成第一圖層內(nèi)容,存放在第一存儲(chǔ)數(shù)據(jù)結(jié)構(gòu)TopImg 中;把第二存儲(chǔ)數(shù)據(jù)結(jié)構(gòu)UnderImg中的第二圖層內(nèi)容、第一存儲(chǔ)數(shù)據(jù)結(jié)構(gòu)TopImg中的第一圖層內(nèi)容與當(dāng)前變化圖層第M圖層渲染繪制到用于顯示畫布圖層內(nèi)容的顯示數(shù)據(jù)結(jié)構(gòu) ViewImg中,即完成一次畫布的渲染,生成一幅渲染后的新圖。
5.根據(jù)權(quán)利要求2所述的圖層渲染方法,其特征在于,所述步驟B具體包括Bi、當(dāng)當(dāng)前變化圖層的第一位置參數(shù)M與上一次發(fā)生圖層變化的第二位置參數(shù)K相等時(shí),直接將上一次存放在第二存儲(chǔ)數(shù)據(jù)結(jié)構(gòu)UnderImg中的第二圖層內(nèi)容、及上一次存放在第一存儲(chǔ)數(shù)據(jù)結(jié)構(gòu)TopImg中的第一圖層內(nèi)容渲染繪制到用于顯示畫布圖層內(nèi)容的顯示數(shù)據(jù)結(jié)構(gòu)ViewLng中,再把當(dāng)前變化的第M個(gè)圖層渲染繪制到顯示數(shù)據(jù)結(jié)構(gòu)ViewLng中,即完成一次畫布的渲染,生成一幅渲染后的新圖。
6.根據(jù)權(quán)利要求3或4或5所述的圖層渲染方法,其特征在于,還包括步驟D、每完成一次渲染生成一幅渲染后的新圖后,把當(dāng)前發(fā)生變化的第M圖層的第一位置參數(shù)M賦予給第二位置參數(shù)K,等待新的圖層發(fā)生變化,并返回步驟A。
7.一種圖層渲染裝置,其特征在于,包括定義與增設(shè)模塊,用于定義用于顯示畫布圖層內(nèi)容的顯示數(shù)據(jù)結(jié)構(gòu)ViewLiig,并增加兩個(gè)用于存放渲染中間結(jié)果的第二存儲(chǔ)數(shù)據(jù)結(jié)構(gòu)UnderImg和第一存儲(chǔ)數(shù)據(jù)結(jié)構(gòu)TopImg ;檢測(cè)與判斷模塊,用于檢測(cè)當(dāng)前畫布是否有圖層發(fā)生變化,當(dāng)是時(shí),查找出當(dāng)前變化圖層所在畫布的第一位置參數(shù),并將當(dāng)前變化圖層的第一位置參數(shù)與上一次發(fā)生圖層變化的第二位置參數(shù)進(jìn)行比較,判斷是否相等;第一渲染模塊,用于當(dāng)當(dāng)前變化圖層的第一位置參數(shù)與上一次發(fā)生圖層變化的第二位置參數(shù)相等時(shí),直接將上一次存放在第二存儲(chǔ)數(shù)據(jù)結(jié)構(gòu)UnderImg中的第二圖層內(nèi)容、及上一次存放在第一存儲(chǔ)數(shù)據(jù)結(jié)構(gòu)TopImg中的第一圖層內(nèi)容渲染繪制到用于顯示畫布圖層內(nèi)容的顯示數(shù)據(jù)結(jié)構(gòu)ViewLng中,再把第一位置參數(shù)對(duì)應(yīng)的圖層渲染繪制到顯示數(shù)據(jù)結(jié)構(gòu) ViewImg中,即完成一次畫布的渲染,生成一幅渲染后的新圖。
8.根據(jù)權(quán)利要求7所述的圖層渲染裝置,其特征在于,其還包括第二渲染模塊,用于當(dāng)當(dāng)前變化圖層的第一位置參數(shù)M與上一次發(fā)生圖層變化的第二位置參數(shù)K不相等時(shí),則以當(dāng)前變化圖層第M圖層為分界點(diǎn),對(duì)所有小于所述第一位置參數(shù)M的位置參數(shù)對(duì)應(yīng)的圖層進(jìn)行渲染繪制生成第二圖層內(nèi)容,存放在第二存儲(chǔ)數(shù)據(jù)結(jié)構(gòu) UnderImg中;對(duì)所有大于所述第一位置參數(shù)M的位置參數(shù)對(duì)應(yīng)的圖層進(jìn)行渲染繪制生成第一圖層內(nèi)容,存放在第一存儲(chǔ)數(shù)據(jù)結(jié)構(gòu)TopImg中;再把第二存儲(chǔ)數(shù)據(jù)結(jié)構(gòu)UnderImg中的第二圖層內(nèi)容、第一存儲(chǔ)數(shù)據(jù)結(jié)構(gòu)TopImg中的第一圖層內(nèi)容與當(dāng)前變化圖層第M圖層渲染繪制到用于顯示畫布圖層內(nèi)容的顯示數(shù)據(jù)結(jié)構(gòu)ViewImg中,即完成一次畫布的渲染,生成一幅渲染后的新圖。
9.根據(jù)權(quán)利要求7所述的圖層渲染裝置,其特征在于,其還包括重新賦值模塊,用于每完成一次渲染生成一幅渲染后的新圖后,把當(dāng)前發(fā)生變化的第M 圖層的第一位置參數(shù)M賦予給第二位置參數(shù)K,等待新的圖層發(fā)生變化。
全文摘要
本發(fā)明公開了一種圖層渲染方法及裝置。所述方法包括檢測(cè)當(dāng)前畫布是否有圖層發(fā)生變化,當(dāng)是時(shí),查找出當(dāng)前變化圖層所在畫布的第一位置參數(shù),并將當(dāng)前變化圖層的第一位置參數(shù)與上一次發(fā)生圖層變化的第二位置參數(shù)進(jìn)行比較,判斷是否相等;當(dāng)所述第一位置參數(shù)與所述第二位置參數(shù)相等時(shí),直接將預(yù)設(shè)的第一存儲(chǔ)數(shù)據(jù)結(jié)構(gòu)中存儲(chǔ)的第一圖層內(nèi)容、預(yù)設(shè)的第二存儲(chǔ)數(shù)據(jù)結(jié)構(gòu)中存儲(chǔ)的第二圖層內(nèi)容、以及當(dāng)前發(fā)生變化后的當(dāng)前圖層內(nèi)容,渲染繪制到顯示數(shù)據(jù)結(jié)構(gòu)中。本發(fā)明可以節(jié)省大量的時(shí)間,提高了產(chǎn)品的效率。
文檔編號(hào)G06T11/00GK102346916SQ20111028894
公開日2012年2月8日 申請(qǐng)日期2011年9月26日 優(yōu)先權(quán)日2011年9月26日
發(fā)明者余澤升 申請(qǐng)人:深圳市萬(wàn)興軟件有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
民乐县| 四子王旗| 天峻县| 栾城县| 茶陵县| 开化县| 宝坻区| 临桂县| 花莲县| 彰武县| 黎城县| 图片| 南投县| 全南县| 定结县| 周宁县| 永宁县| 乐业县| 东阿县| 康平县| 特克斯县| 泊头市| 巴青县| 嘉善县| 山东省| 水富县| 怀柔区| 深州市| 久治县| 榕江县| 长武县| 鄯善县| 安龙县| 阳朔县| 论坛| 碌曲县| 驻马店市| 荥阳市| 兴安盟| 扬州市| 广元市|