專利名稱:圖像渲染的方法和裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及圖像處理領(lǐng)域,特別涉及一種圖像渲染的方法和裝置。
背景技術(shù):
圖像渲染是圖像處理領(lǐng)域非常重要的一個環(huán)節(jié),渲染效率和用戶下載等待時間均是圖像渲染的重要指標(biāo)?,F(xiàn)有技術(shù)有兩種圖像渲染方法,具體如下第一種方法是矢量圖渲染方法,客戶端從服務(wù)器下載FLASH資源對應(yīng)的矢量圖, 井根據(jù)該矢量圖進(jìn)行圖像渲染。由于矢量資源體積小,因此用戶下載等待時間較短。但是,矢量圖渲染比較耗費CPU,渲染效率低。第二種方法是位圖渲染方法,客戶端從服務(wù)器下載FLASH資源對應(yīng)的位圖,井根據(jù)該位圖進(jìn)行圖像渲染。由于位圖資源體積大,因此用戶下載等待時間較長。但是,位圖渲染的效率較高。綜合上述,現(xiàn)有技術(shù)至少存在以下問題現(xiàn)有的圖像渲染方法無法兼顧渲染效率和用戶下載等待時間,現(xiàn)有技術(shù)中還沒有一種渲染效率較高、同時用戶下載等待時間較短的圖像渲染方法。
發(fā)明內(nèi)容
為了使圖像渲染的渲染效率較高、同時用戶下載等待時間較短,本發(fā)明實施例提供了一種圖像渲染的方法和裝置。所述技術(shù)方案如下本發(fā)明的一方面提供了一種圖像渲染的方法,所述方法包括判斷服務(wù)器的動畫資源是否是矢量圖,當(dāng)所述服務(wù)器的動畫資源是矢量圖時,從所述服務(wù)器下載動畫資源對應(yīng)的矢量圖,當(dāng)所述服務(wù)器的動畫資源不是矢量圖時,指示所述服務(wù)器將所述動畫資源轉(zhuǎn)換為矢量圖之后,再從所述服務(wù)器下載動畫資源對應(yīng)的矢量圖;將從所述服務(wù)器下載的所述矢量圖轉(zhuǎn)化為位圖;根據(jù)所述位圖進(jìn)行圖像渲染。其中,所述將從所述服務(wù)器下載的所述矢量圖轉(zhuǎn)化為位圖,包括采用FLASH的draw庫函數(shù),將從所述服務(wù)器下載的所述矢量圖轉(zhuǎn)化為位圖。本發(fā)明的另一方面提供了一種圖像渲染的裝置,所述裝置包括判斷和下載模塊,用于判斷服務(wù)器的動畫資源是否是矢量圖,當(dāng)所述服務(wù)器的動畫資源是矢量圖時,從所述服務(wù)器下載動畫資源對應(yīng)的矢量圖,當(dāng)所述服務(wù)器的動畫資源不是矢量圖時,指示所述服務(wù)器將所述動畫資源轉(zhuǎn)換為矢量圖之后,再從所述服務(wù)器下載動畫資源對應(yīng)的矢量圖;轉(zhuǎn)化模塊,用于將從所述服務(wù)器下載的所述矢量圖轉(zhuǎn)化為位圖;渲染模塊,用于根據(jù)所述位圖進(jìn)行圖像渲染。
其中,所述轉(zhuǎn)化模塊,具體用于采用FLASH的draw庫函數(shù),將從所述服務(wù)器下載的所述矢量圖轉(zhuǎn)化為位圖。本發(fā)明實施例提供的技術(shù)方案帶來的有益效果是通過從服務(wù)器下載動畫資源對應(yīng)的矢量圖以使用戶下載等待時間較短,將該矢量圖轉(zhuǎn)化為位圖,根據(jù)該位圖進(jìn)行圖像渲染以使渲染效率較高,從而同時兼顧了渲染效率和用戶下載等待時間,使圖像 渲染的渲染效率較高、同時用戶下載等待時間較短。
圖I是本發(fā)明的一個實施例提供的圖像渲染的方法流程圖;圖2是本發(fā)明的另ー個實施例提供的圖像渲染的方法流程圖;圖3是本發(fā)明的另ー個實施例提供的圖像渲染的裝置結(jié)構(gòu)示意圖。
具體實施例方式為使本發(fā)明的目的、技術(shù)方案和優(yōu)點更加清楚,下面將結(jié)合附圖對本發(fā)明實施方式作進(jìn)ー步地詳細(xì)描述。參見圖1,本發(fā)明的一個實施例提供了一種圖像渲染的方法,包括101 :判斷服務(wù)器的動畫資源是否是矢量圖,當(dāng)服務(wù)器的動畫資源是矢量圖吋,從服務(wù)器下載動畫資源對應(yīng)的矢量圖,當(dāng)服務(wù)器的動畫資源不是矢量圖時,指示服務(wù)器將動畫資源轉(zhuǎn)換為矢量圖之后,再從服務(wù)器下載動畫資源對應(yīng)的矢量圖;其中,動畫資源可以是FLASH資源等,本實施例并不限定。102 :將從服務(wù)器下載的矢量圖轉(zhuǎn)化為位圖; 具體的,可以采用FLASH的draw庫函數(shù),將從服務(wù)器下載的該矢量圖轉(zhuǎn)化為位圖。103 :根據(jù)位圖進(jìn)行圖像渲染。本實施例通過從服務(wù)器下載動畫資源對應(yīng)的矢量圖以使用戶下載等待時間較短,將該矢量圖轉(zhuǎn)化為位圖,根據(jù)該位圖進(jìn)行圖像渲染以使渲染效率較高,從而同時兼顧了渲染效率和用戶下載等待時間,使圖像渲染的渲染效率較高、同時用戶下載等待時間較短。參見圖2,本發(fā)明的另ー個實施例提供了一種圖像渲染的方法,包括201 :客戶端判斷服務(wù)器的動畫資源是否是矢量圖;具體的,當(dāng)該服務(wù)器的動畫資源不是矢量圖時,執(zhí)行步驟202和步驟203,當(dāng)服務(wù)器的動畫資源是矢量圖時,直接執(zhí)行步驟203。本步驟可選,當(dāng)客戶端能夠確定服務(wù)器的動畫資源是矢量圖,也可以不執(zhí)行判斷操作,直接執(zhí)行步驟203。其中,動畫資源可以是FLASH資源等,本實施例并不限定。202 :客戶端指示該服務(wù)器將該動畫資源轉(zhuǎn)換為矢量圖;203 :客戶端從服務(wù)器下載動畫資源對應(yīng)的矢量圖;204 :客戶端將該矢量圖轉(zhuǎn)化為位圖;具體的,可以采用FLASH的draw庫函數(shù),將該矢量圖轉(zhuǎn)化為位圖。下面給出利用draw庫函數(shù)將矢量圖轉(zhuǎn)化為位圖的程序?qū)崿F(xiàn)_f i shC I s = _loader. contentLoaderlnfo. applicationDomain.getDefinition(" Fish" )as Class ;//取得魚的類tmpFish = new_f ishCls () ;// 實例化魚的 MCimageWidth = tmpFish. width ;// 取得寬imageHeight = tmpFish. height ;// 取得高for (var i : int = 0 ;i < tmpFish. framesLoaded ;++i)//取得姆ー巾貞轉(zhuǎn)為位圖傳入數(shù)組里{if (i < tmpFish. framesLoaded) {tmpFishbd = new BitmapData (imageWidth, imageHeight,true,0x00000000) ; //建立位圖tmpFish. gotoAndPlay (i) // 選擇ー巾貞矢量圖tmpFishbd. draw (tmpFish, newMatrix(l,0,0,1,imageWidth/2, imageHeight/2)) ;//將選擇的矢量圖轉(zhuǎn)化為位圖_f ishbitmapDataArr. push (tmpFishbd) ;// 將位圖存入數(shù)組}}205:根據(jù)該位圖進(jìn)行圖像渲染。下面給出根據(jù)位圖進(jìn)行圖像渲染的程序?qū)崿F(xiàn)this. addEventListener (Event. ENTER—FRAME,enterFrameHandler) ;//播放這個位圖序列private function enterFrameHandler(e Event) void{try {this. removeChild(—bitmap) ;//移除前一中貞位圖} catch (e Error) {//trace (e. toString ());}—bitmap = new Bitmap (—bitmapDataArr [—nowFrame]) ;//建立位圖this. addChildAt (_bitmap,0) ;//加載并值染位圖 _nowFrame++ ;// 播放下一位圖if (—nowFrame == —bitmapDataArr. length-1) {—nowFrame = 0 ;}}本實施例通過從服務(wù)器下載動畫資源對應(yīng)的矢量圖以使用戶下載等待時間較短,將該矢量圖轉(zhuǎn)化為位圖,根據(jù)該位圖進(jìn)行圖像渲染以使渲染效率較高,從而同時兼顧了渲染效率和用戶下載等待時間,使圖像渲染的渲染效率較高、同時用戶下載等待時間較短。參見圖3,本發(fā)明的另ー個實施例提供了一種圖像渲染的裝置,包括判斷和下載模塊301,用于判斷服務(wù)器的動畫資源是否是矢量圖,當(dāng)服務(wù)器的動畫資源是矢量圖時,從服務(wù)器下載動畫資源對應(yīng)的矢量圖,當(dāng)服務(wù)器的動畫資源不是矢量圖時,指示服務(wù)器將動畫資源轉(zhuǎn)換為矢量圖之后,再從服務(wù)器下載動畫資源對應(yīng)的矢量圖;轉(zhuǎn)化模塊302,用于將從服務(wù)器下載的矢量圖轉(zhuǎn)化為位圖;渲染模塊303,用于根據(jù)位圖進(jìn)行圖像渲染其中,轉(zhuǎn)化模塊302,具體用于采用FLASH的draw庫函數(shù),將從服務(wù)器下載的矢量圖轉(zhuǎn)化為位圖。其中,采用FLASH的draw庫函數(shù),將矢量圖轉(zhuǎn)化為位圖的實現(xiàn)程序參考圖2所示的實施例,這里不再贅述。本實施例的裝置具體可以是客戶端,與方法實施例屬于同一構(gòu)思,其具體實現(xiàn)過程詳見方法實施例,這里不再贅述。本實施例通過從服務(wù)器下載動畫資源對應(yīng)的矢量圖以使用戶下載等待時間較短,將該矢量圖轉(zhuǎn)化為位圖,根據(jù)該位圖進(jìn)行圖像渲染以使渲染效率較高,從而同時兼顧了渲染效率和用戶下載等待時間,使圖像渲染的渲染效率較高、同時用戶下載等待時間較短。以上實施例提供的技術(shù)方案中的全部或部分內(nèi)容可以通過軟件編程實現(xiàn),其軟件程序存儲在可讀取的存儲介質(zhì)中,存儲介質(zhì)例如計算機(jī)中的硬盤、光盤或軟盤。以上所述僅為本發(fā)明的較佳實施例,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
權(quán)利要求
1.一種圖像渲染的方法,其特征在于,所述方法包括 判斷服務(wù)器的動畫資源是否是矢量圖,當(dāng)所述服務(wù)器的動畫資源是矢量圖時,從所述服務(wù)器下載動畫資源對應(yīng)的矢量圖,當(dāng)所述服務(wù)器的動畫資源不是矢量圖時,指示所述服務(wù)器將所述動畫資源轉(zhuǎn)換為矢量圖之后,再從所述服務(wù)器下載動畫資源對應(yīng)的矢量圖; 將從所述服務(wù)器下載的所述矢量圖轉(zhuǎn)化為位圖; 根據(jù)所述位圖進(jìn)行圖像渲染。
2.根據(jù)權(quán)利要求I所述的方法,其特征在于,所述將從所述服務(wù)器下載的所述矢量圖轉(zhuǎn)化為位圖,包括 采用FLASH的draw庫函數(shù),將從所述服務(wù)器下載的所述矢量圖轉(zhuǎn)化為位圖。
3.一種圖像渲染的裝置,其特征在于,所述裝置包括 判斷和下載模塊,用于判斷服務(wù)器的動畫資源是否是矢量圖,當(dāng)所述服務(wù)器的動畫資源是矢量圖時,從所述服務(wù)器下載動畫資源對應(yīng)的矢量圖,當(dāng)所述服務(wù)器的動畫資源不是矢量圖時,指示所述服務(wù)器將所述動畫資源轉(zhuǎn)換為矢量圖之后,再從所述服務(wù)器下載動畫資源對應(yīng)的矢量圖; 轉(zhuǎn)化模塊,用于將從所述服務(wù)器下載的所述矢量圖轉(zhuǎn)化為位圖; 渲染模塊,用于根據(jù)所述位圖進(jìn)行圖像渲染。
4.根據(jù)權(quán)利要3所述的裝置,其特征在于,所述轉(zhuǎn)化模塊,具體用于采用FLASH的draw庫函數(shù),將從所述服務(wù)器下載的所述矢量圖轉(zhuǎn)化為位圖。
全文摘要
本發(fā)明公開了一種圖像渲染的方法和裝置,屬于圖像處理領(lǐng)域。所述方法包括判斷服務(wù)器的動畫資源是否是矢量圖,當(dāng)服務(wù)器的動畫資源是矢量圖時,從服務(wù)器下載動畫資源對應(yīng)的矢量圖,當(dāng)服務(wù)器的動畫資源不是矢量圖時,指示服務(wù)器將動畫資源轉(zhuǎn)換為矢量圖后,再從服務(wù)器下載動畫資源對應(yīng)的矢量圖;將從服務(wù)器下載的矢量圖轉(zhuǎn)化為位圖;根據(jù)位圖進(jìn)行圖像渲染。裝置包括判斷和下載模塊、轉(zhuǎn)化模塊、和渲染模塊。本發(fā)明通過從服務(wù)器下載動畫資源對應(yīng)的矢量圖以使用戶下載等待時間較短,將該矢量圖轉(zhuǎn)化為位圖,根據(jù)該位圖進(jìn)行圖像渲染以使渲染效率較高,從而同時兼顧了渲染效率和用戶下載等待時間,使圖像渲染的渲染效率較高、同時用戶下載等待時間較短。
文檔編號G06T3/00GK102651140SQ20111004315
公開日2012年8月29日 申請日期2011年2月23日 優(yōu)先權(quán)日2011年2月23日
發(fā)明者劉超俊, 文錦祥, 陳永 申請人:騰訊科技(深圳)有限公司