国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      移動設(shè)備中實(shí)時(shí)播放gif動畫的方法及裝置的制作方法

      文檔序號:6427435閱讀:246來源:國知局
      專利名稱:移動設(shè)備中實(shí)時(shí)播放gif動畫的方法及裝置的制作方法
      技術(shù)領(lǐng)域
      本發(fā)明涉及智能手機(jī)操作系統(tǒng)技術(shù)領(lǐng)域,特別是涉及一種移動設(shè)備中實(shí)時(shí)播放 GIF動畫的方法及裝置。
      背景技術(shù)
      隨著人們對移動應(yīng)用要求的提高,在IT制造行業(yè)飛速發(fā)展的今天,移動設(shè)備的能力已經(jīng)越來越強(qiáng)大,智能手機(jī)因其強(qiáng)大的功能而成為了目前最主流的移動設(shè)備。相對于普通手機(jī),智能手機(jī)是指像PC機(jī)一樣具有獨(dú)立的操作系統(tǒng),可以由用戶自行安裝應(yīng)用軟件、 游戲等第三方服務(wù)商提供的程序,并通過此類程序?qū)κ謾C(jī)的功能不斷進(jìn)行擴(kuò)充,此外,還可以通過移動通訊網(wǎng)絡(luò)實(shí)現(xiàn)無線網(wǎng)絡(luò)接入的一類手機(jī)。智能手機(jī)最大的特點(diǎn)就是開放性的操作系統(tǒng),其可以支持用戶自行安裝程序進(jìn)行功能擴(kuò)展,也因此,除了硬件的能力外,操作系統(tǒng)的選擇也對智能手機(jī)的性能有著至關(guān)重要的影響,能得到越多應(yīng)用支持的操作系統(tǒng)對智能手機(jī)的能力擴(kuò)展越有益。通常使用的智能手機(jī)操作系統(tǒng)有Symbian、Windows Mobile、iOS、Linux(含AndroicUMaemo和WebOS) ,Palm OS和BlackBerry 0S,這些操作系統(tǒng)之間的應(yīng)用軟件一般互不兼容,只能依靠相應(yīng)的軟件人員單獨(dú)開發(fā)以提供支持。其中,智能手機(jī)操作系統(tǒng)的應(yīng)用已經(jīng)涉足到很多領(lǐng)域,包括瀏覽器、IM、咨詢、各種商業(yè)軟件等等,給用戶帶來很大的方便,但是由于操作系統(tǒng)或硬件本身的不足,絕大多數(shù)操作系統(tǒng)目前尚不直接支持GIF動畫播放,導(dǎo)致智能手機(jī)用戶的體驗(yàn)遜色不少。當(dāng)前雖然也有部分人預(yù)先用工具將GIF的各幀打散成相應(yīng)的η張靜態(tài)圖片,采用靜態(tài)圖片瀏覽程序中切換加載的方式來顯示,但這種方式一方面由于每播放一個GIF動畫都要去拆分成靜態(tài)圖片,工作效率低且無形中增加了開發(fā)的成本;另一方面由于GIF動畫對播放的框架也具有一定的要求,該方式的顯示效果也并不理想;最后,該方式只能顯示預(yù)先處理過的圖片,并不能滿足用戶自定義播放GIF動畫的需求。

      發(fā)明內(nèi)容
      (一)要解決的技術(shù)問題針對現(xiàn)有技術(shù)的缺點(diǎn),本發(fā)明為了解決現(xiàn)有技術(shù)中用戶在智能手機(jī)操作系統(tǒng)中無法自定義播放GIF動畫的問題,提供了一種移動設(shè)備中實(shí)時(shí)播放GIF動畫的方法及裝置,通過對GIF動畫的實(shí)時(shí)解析和重繪,使得智能手機(jī)上也能自定義播放GIF動畫。( 二 )技術(shù)方案為解決上述技術(shù)問題,本發(fā)明具體采用如下技術(shù)方案進(jìn)行一種移動設(shè)備中實(shí)時(shí)播放GIF動畫的方法,該方法包括步驟Si,讀取用戶自定義播放的GIF圖片的數(shù)據(jù)流;S2,解析所述數(shù)據(jù)流并返回一幀圖像;S3,獲取所述幀圖像并重繪;
      S4,將重繪后的幀圖像展現(xiàn)給用戶。優(yōu)選地,步驟S2至S4循環(huán)執(zhí)行直至全部幀圖像處理完成。優(yōu)選地,步驟S2中,通過解析圖像分隔符來拆分所述數(shù)據(jù)流中的多幀圖像,從而得到所述一幀圖像。優(yōu)選地,步驟S3中,根據(jù)解析所述數(shù)據(jù)流得到的邏輯視屏描述塊的定義重繪所述幀圖像。優(yōu)選地,步驟S2中,解析所述數(shù)據(jù)流時(shí)設(shè)置有解碼中、格式錯誤、打開失敗和解碼成功4種狀態(tài)。更進(jìn)一步地,本發(fā)明還同時(shí)提供一種移動設(shè)備中實(shí)時(shí)播放GIF動畫的裝置,該裝置包括讀取單元,用于讀取用戶自定義播放的GIF圖片的數(shù)據(jù)流;解析單元,用于解析所述數(shù)據(jù)流并返回一幀圖像;重繪單元,用于獲取所述幀圖像并重繪;展現(xiàn)單元,用于將重繪后的幀圖像展現(xiàn)給用戶。優(yōu)選地,該裝置還包括循環(huán)單元,用于控制解析單元、重繪單元和展現(xiàn)單元循環(huán)執(zhí)行直至全部幀圖像處理完成。優(yōu)選地,所述解析單元中還包括拆分單元,通過解析圖像分隔符來拆分所述數(shù)據(jù)流中的多幀圖像,從而得到所述一幀圖像。優(yōu)選地,所述重繪單元中還包括重繪控制單元,根據(jù)解析所述數(shù)據(jù)流得到的邏輯視屏描述塊的定義重繪所述幀圖像。優(yōu)選地,所述解析單元中還包括狀態(tài)處理單元,對解析所述數(shù)據(jù)流時(shí)產(chǎn)生的解碼中、格式錯誤、打開失敗和解碼成功4種狀態(tài)進(jìn)行處理。(三)有益效果本發(fā)明通過對GIF動畫的實(shí)時(shí)解析和重繪,使得智能手機(jī)上也能自定義播放GIF 動畫;在本發(fā)明中,由于動態(tài)解析GIF圖片,與系統(tǒng)其他應(yīng)用的耦合度低,因而擴(kuò)展性好,可方便地在各種應(yīng)用中集成;其次,本發(fā)明中解析重繪一次完成,占用內(nèi)存資源少,運(yùn)行效率
      尚ο


      圖1為本發(fā)明中實(shí)時(shí)播放GIF動畫的方法流程圖。
      具體實(shí)施例方式下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例是本發(fā)明的一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動的前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。以下技術(shù)方案以Android操作系統(tǒng)為例進(jìn)行說明,基于Linux平臺的Android操作系統(tǒng)因?yàn)榇a開源,且同時(shí)具備操作系統(tǒng)、中間件、用戶界面和應(yīng)用軟件多個層次結(jié)構(gòu), 成為首個為移動設(shè)備定制的真正開放和完整的移動軟件。由于Android操作系統(tǒng)具有完全的開放性,理論上具有無限的可擴(kuò)展性,其受到了眾多智能手機(jī)硬件、軟件生產(chǎn)者和用戶的青睞,為智能手機(jī)處理能力的擴(kuò)展提供了有力的支持。本領(lǐng)域的技術(shù)人員應(yīng)該能夠意識到,下文所描述的Android操作系統(tǒng)中的應(yīng)用僅僅是一種優(yōu)選的實(shí)施例,是本發(fā)明可以優(yōu)選采用的一部分實(shí)施例,并非是本發(fā)明所必須采取的實(shí)施方式?,F(xiàn)有技術(shù)中任何支持控件集成擴(kuò)展的智能手機(jī)操作系統(tǒng)均可以應(yīng)用于本發(fā)明的方法中以解決其技術(shù)問題,因而下文的實(shí)施例并非是本發(fā)明的必要技術(shù)特征;同時(shí)下文中的實(shí)施例也不是全部的實(shí)施例,在其基礎(chǔ)上本領(lǐng)域的技術(shù)人員所進(jìn)行的任何無需創(chuàng)造性勞動而得到的實(shí)施方式均應(yīng)落入本發(fā)明的保護(hù)范圍內(nèi)。本發(fā)明的技術(shù)方案實(shí)現(xiàn)了在采用Android操作系統(tǒng)的智能手機(jī)中播放GIF動畫的功能,解決了上述智能手機(jī)無法播放GIF動畫或無法滿足用戶自定義動畫播放需求的問題。本發(fā)明技術(shù)方案的整體思路是,根據(jù)GIF圖片標(biāo)準(zhǔn)解析GIF動畫,在程序運(yùn)行期間解析 GIF動畫,逐幀提取并顯示。為此,本發(fā)明提出了一種移動設(shè)備中實(shí)時(shí)播放GIF動畫的方法,參見圖1,當(dāng)系統(tǒng)運(yùn)行中用戶提交(或點(diǎn)擊相關(guān)應(yīng)用產(chǎn)生)了 GIF動畫播放請求時(shí),由集成在系統(tǒng)中的圖片控件啟動繪圖線程調(diào)用GIF解析器來執(zhí)行下述步驟Si,讀取用戶自定義播放的GIF圖片的數(shù)據(jù)流;S2,解析所述數(shù)據(jù)流并返回一幀圖像;S3,獲取所述幀圖像并重繪;S4,將重繪后的幀圖像展現(xiàn)給用戶。其中,步驟S2至S4在處理完一幀圖像后循環(huán)執(zhí)行處理下一幀圖像,直至GIF圖片的全部幀圖像均處理完成。對GIF圖片進(jìn)行解析時(shí),根據(jù)GIF圖片格式的規(guī)范,GIF圖片一般由文件頭、邏輯視屏描述塊、彩色表、數(shù)據(jù)塊、擴(kuò)展塊和結(jié)束符組成,將圖片的數(shù)據(jù)流讀取到內(nèi)存后按上面的順序進(jìn)行解析。其中,邏輯視屏描述塊中定義了邏輯視屏的界限,GIF圖片中的各幀圖片都必須在該界限內(nèi)顯示。數(shù)據(jù)塊又稱成像塊,其中通過圖像描述符定義了處理一個幀圖像的必要參數(shù),在數(shù)據(jù)塊中給定的坐標(biāo)都是參照邏輯視屏的像素坐標(biāo)。圖像描述符之后一般是圖像數(shù)據(jù),是每一幀圖像所必需的數(shù)據(jù),一幀圖像對應(yīng)一個圖像描述符;各幀圖像間由圖像分隔符間隔開,圖像分隔符用于識別圖像描述符的開始,一般取固定值0x2c。解析時(shí)通過識別圖像分隔符來拆分GIF圖片數(shù)據(jù)流中的多幀圖像,進(jìn)而得到每一幀圖像。每獲得一幀圖像后,繪圖線程就根據(jù)解析時(shí)獲取的邏輯視屏描述塊的定義,在邏輯視屏的界限內(nèi)重繪每一幀圖像,最后仍由系統(tǒng)的圖片控件將重繪后的每一幀圖像展現(xiàn)給用戶。在解析時(shí),還針對系統(tǒng)可能出現(xiàn)的情況設(shè)置了 4中解析狀態(tài)以進(jìn)行相應(yīng)的處理A)解碼中表明解析器正在進(jìn)行解析,此時(shí)繪圖線程進(jìn)行等待。B)圖片格式錯誤當(dāng)讀取的數(shù)據(jù)流不符合gif規(guī)范時(shí)設(shè)置此狀態(tài),繪圖線程停止運(yùn)行并向UI層拋出格式錯誤的異常。C)打開失敗當(dāng)解析過程中遇到了異常時(shí)設(shè)置此狀態(tài),繪圖線程停止運(yùn)行并向UI 層拋出打開失敗的異常。D)解碼成功當(dāng)解析完成后設(shè)置此狀態(tài),繪圖線程開始工作,從解析器里獲取解析出來的幀圖像并重繪到圖片控件中。依次對每一幀圖像采用上述方式循環(huán)處理,最后,當(dāng)解析器識別到結(jié)束符時(shí)表明全部幀圖像已處理完,GIF動畫播放完畢。本發(fā)明的方法在Android操作系統(tǒng)以圖片控件的模式提供給用戶或其他開發(fā)人員,在Android的布局文件中只需要傳入GIF圖片就會自動的去啟動繪圖線程并調(diào)用解析器,對系統(tǒng)的圖片空間進(jìn)行重寫以支持GIF動畫的展示。由于在系統(tǒng)中進(jìn)行了封裝,以系統(tǒng)控件的形式提供支持,使得其他開發(fā)人員無需關(guān)心具體的實(shí)現(xiàn),直接使用即可,從而明顯提高了開發(fā)效率。以上實(shí)施方式僅用于說明本發(fā)明,而并非對本發(fā)明的限制,有關(guān)技術(shù)領(lǐng)域的普通技術(shù)人員,在不脫離本發(fā)明的精神和范圍的情況下,還可以做出各種變化和變型,因此所有等同的技術(shù)方案也屬于本發(fā)明的范疇,本發(fā)明的發(fā)明保護(hù)范圍應(yīng)由權(quán)利要求限定。
      權(quán)利要求
      1.一種移動設(shè)備中實(shí)時(shí)播放GIF動畫的方法,其特征在于,所述方法包括步驟 Si,讀取用戶自定義播放的GIF圖片的數(shù)據(jù)流;S2,解析所述數(shù)據(jù)流并返回一幀圖像;S3,獲取所述幀圖像并重繪;S4,將重繪后的幀圖像展現(xiàn)給用戶。
      2.根據(jù)權(quán)利要求1所述的方法,其特征在于,步驟S2至S4循環(huán)執(zhí)行直至全部幀圖像處理完成。
      3.根據(jù)權(quán)利要求1所述的方法,其特征在于,步驟S2中,通過解析圖像分隔符來拆分所述數(shù)據(jù)流中的多幀圖像,從而得到所述一幀圖像。
      4.根據(jù)權(quán)利要求1所述的方法,其特征在于,步驟S3中,根據(jù)解析所述數(shù)據(jù)流得到的邏輯視屏描述塊的定義重繪所述幀圖像。
      5.根據(jù)權(quán)利要求1所述的方法,其特征在于,步驟S2中,解析所述數(shù)據(jù)流時(shí)設(shè)置有解碼中、格式錯誤、打開失敗和解碼成功4種狀態(tài)。
      6.一種移動設(shè)備中實(shí)時(shí)播放GIF動畫的裝置,其特征在于,所述裝置包括 讀取單元,用于讀取用戶自定義播放的GIF圖片的數(shù)據(jù)流;解析單元,用于解析所述數(shù)據(jù)流并返回一幀圖像; 重繪單元,用于獲取所述幀圖像并重繪; 展現(xiàn)單元,用于將重繪后的幀圖像展現(xiàn)給用戶。
      7.根據(jù)權(quán)利要求6所述的裝置,其特征在于,所述裝置還包括循環(huán)單元,用于控制解析單元、重繪單元和展現(xiàn)單元循環(huán)執(zhí)行直至全部幀圖像處理完成。
      8.根據(jù)權(quán)利要求6所述的裝置,其特征在于,所述解析單元中還包括拆分單元,通過解析圖像分隔符來拆分所述數(shù)據(jù)流中的多幀圖像,從而得到所述一幀圖像。
      9.根據(jù)權(quán)利要求6所述的裝置,其特征在于,所述重繪單元中還包括重繪控制單元,根據(jù)解析所述數(shù)據(jù)流得到的邏輯視屏描述塊的定義重繪所述幀圖像。
      10.根據(jù)權(quán)利要求6所述的裝置,其特征在于,所述解析單元中還包括狀態(tài)處理單元, 對解析所述數(shù)據(jù)流時(shí)產(chǎn)生的解碼中、格式錯誤、打開失敗和解碼成功4種狀態(tài)進(jìn)行處理。
      全文摘要
      本發(fā)明涉及智能手機(jī)操作系統(tǒng)技術(shù)領(lǐng)域,提供了一種移動設(shè)備中實(shí)時(shí)播放GIF動畫的方法及裝置。本發(fā)明通過對GIF動畫的實(shí)時(shí)解析和重繪,使得智能手機(jī)上也能自定義播放GIF動畫;在本發(fā)明中,由于動態(tài)解析GIF圖片,與系統(tǒng)其他應(yīng)用的耦合度低,因而擴(kuò)展性好,可方便地在各種應(yīng)用中集成;其次,本發(fā)明中解析重繪一次完成,占用內(nèi)存資源少,運(yùn)行效率高。
      文檔編號G06T13/00GK102314701SQ201110177888
      公開日2012年1月11日 申請日期2011年6月28日 優(yōu)先權(quán)日2011年6月28日
      發(fā)明者趙慶普, 鐘光文, 黃朝陽 申請人:北京新媒傳信科技有限公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
      1