国产精品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>

      一種調整動態(tài)圖片動畫時長的方法

      文檔序號:8223352閱讀:2922來源:國知局
      一種調整動態(tài)圖片動畫時長的方法
      【技術領域】
      [0001]本發(fā)明屬于計算機技術領域,尤其涉及一種調整動態(tài)圖片動畫時長的方法。
      【背景技術】
      [0002]目前,行業(yè)中的動態(tài)圖片(gif動畫)是由若干的png序列幀圖片組成的,通過順序播放序列幀圖片,讓原本靜態(tài)的圖片變的有生機;然而一個動態(tài)圖片的動畫由設計的序列幀,幀率所決定,播放的動畫可擴展性被限制;如果將動態(tài)圖片結合在某個媒介中,如視頻或照片中,限制性將被放大,動畫時長不能隨意調整;比如Adobe公司推出的Premiere,After EffectsS都是簡單粗暴的調整幀率,或者截斷動畫來實現(xiàn)調整動畫時長,這種方式破壞了動畫的完整度和效果,所帶來的添加動態(tài)圖片樂趣性將大大的減少,結合到其他媒介中的擴展性不高。

      【發(fā)明內(nèi)容】

      [0003]為了克服現(xiàn)有的動態(tài)圖片不能調整動畫時長或簡單的調整幀率或截斷動畫方案的局限性,本發(fā)明提供了一種調整動態(tài)圖片動畫時長的方法。
      [0004]本發(fā)明的目的是通過以下技術方案來實現(xiàn)的:一種調整動態(tài)圖片動畫時長的方法,包括以下步驟:
      (1)獲取動態(tài)圖片:所述動態(tài)圖片由若干張png序列幀圖片組成;
      (2)建立json配置表:所述json配置表包含以下信息:循環(huán)段標識extendSect1n;由幀圖片的序號pic及該幀的開始時間time組成的幀數(shù)組frameArry ;由每段的開始時間beginTime、結束時間endTime、調整幀率標識Shrink、最短時長mintime和最長時長maxtime組成的分段數(shù)組timeArry ;根據(jù)動畫效果,設定需要調整的段的最短時長X秒(不小于X秒);
      (3)將步驟(I)獲取的動態(tài)圖片分段,包括以下三種情況:
      (3.1)分成三段:將具有進場效果、中間動畫和退場效果的動態(tài)圖片分為三段:開始段、循環(huán)段和結尾段;
      (3.2)分成兩段,包括兩種情況:
      a.所述的動態(tài)圖片動畫通過進場效果+停留段來實現(xiàn);
      b.所述的動態(tài)圖片動畫通過進場效果+循環(huán)段或循環(huán)段+出場效果來實現(xiàn);
      (3.3)不分段,包括兩種情況:
      a.所述的動態(tài)圖片的序列幀比較少,動畫通過循環(huán)有限序列幀表現(xiàn);
      b.所述的動態(tài)圖片的動畫是連續(xù)性動畫,即幀圖片中物體每幀動畫及坐標不一致;
      (4)填寫json配置表,具體包括以下子步驟:
      (4.1)根據(jù)步驟(I)中獲取的動態(tài)圖片自帶的幀填寫幀數(shù)組frameArry,對動態(tài)圖片自帶的幀中循環(huán)或者停留的幀做優(yōu)化:
      如果有循環(huán)的幀:剔除循環(huán)一次外與之對應的幀,這些幀的開始時間time不變,幀圖片的序號Pic填寫循環(huán)一次相應的幀;
      如果有停留的幀:保留開始停留的第一幀,剔除之后的幀,這些幀的開始時間time不變,幀圖片的序號Pic填寫停留的第一幀序號;
      (4.2 )根據(jù)步驟(3 )中不同的分段方案,填寫不同的配置方案,不同的配置方案具有不同的延長和縮短方案,具體如下:
      (4.2.1)如果分成三段,動畫延長方案如下:通過循環(huán)循環(huán)段,更新結束時間來實現(xiàn),保留動畫的完整性,循環(huán)標識extendSect1n填寫分段中的循環(huán)段的序號;
      動畫縮短方案如下:截去進場和出場動畫,循環(huán)播放循環(huán)段動畫來實現(xiàn),開始段和結尾段的mintime寫0,maxtime寫本身段的時長;循環(huán)段mintime寫X,maxtime寫O (無限制);(4.2.2)如果分成兩段,根據(jù)步驟(3.2)中的第一種情況:動畫通過進場效果+停留段來實現(xiàn),在配置中timeArry中按開始段和停留段寫入2段,通過extendSect1n標示停留段是增加循環(huán)次數(shù)實現(xiàn)動畫延長的效果,而通過mintime和maxtime做截斷停留段來實現(xiàn)縮短動畫效果:開始段mintime寫本身段的時長,maxtime寫本身段的時長;停留段mintime 寫 X,maxtime 寫 O (無限制);
      根據(jù)步驟(3.2)中的第二種情況:動畫通過進場效果+循環(huán)段或循環(huán)段+出場效果來實現(xiàn),延長動畫時,通過extendSect1n標示循環(huán)段是增加循環(huán)次數(shù),保留進場動畫,更新結束時間實現(xiàn)動畫延長的效果;縮短動畫時,通過mintime和maxtime做截斷開始段或結尾段 mintime 寫 X,maxtime 寫 O (無限制)。
      [0005](4.2.3)如果不分段:根據(jù)步驟(3.3)中的第一種情況:動畫是一直循環(huán)該幾幀來表現(xiàn)的,縮短/延長動畫時長通過循環(huán)N次播放即可;
      根據(jù)步驟(3.3)中的第二種情況:不能進行截斷操作,通過縮短調整幀率來實現(xiàn);
      (4.3)完成json配置表的填寫,將配置表json表放置在動態(tài)圖片序列幀所處的文件夾中;
      (5)顯示動態(tài)圖片:在媒介的動畫顯示層,調用json配置表,若沒有進行延長或縮短操作,動畫按照步驟(2)中json配置表中的幀數(shù)組frameArry填寫的png序列幀開始時間對應的圖片按順序循環(huán)播放;
      (6)調整動畫時長:當延長或縮短動態(tài)圖片的動畫時長時,調用json配置表中步驟(4.2)填寫的參數(shù)extendSect1n, Shrink,mintime和maxtime實現(xiàn)調整后的動畫效果。
      [0006]本發(fā)明的有益效果是:本發(fā)明預先給動態(tài)圖片進行人為分段,通過配置json信息讓動畫時長變得可控,通過循環(huán)某段動畫或者裁剪非核心段動畫來延長或縮短動畫的顯示時長;這種方式突破了原有動畫的固定時長所帶來的局限性,讓動態(tài)圖片動畫時長可變,靈活性變大,并且原本的率幀不會改變,動畫順序上保持原先的路徑和效果,使得添加的動態(tài)圖片能夠完美融合到媒介中。
      【附圖說明】
      [0007]圖1是定義動態(tài)圖片動畫分段的步驟流程圖。
      【具體實施方式】
      [0008]下面結合附圖對本發(fā)明作進一步詳細說明。
      [0009]本發(fā)明一種調整動態(tài)圖片動畫時長的方法,包括以下步驟:
      (I)獲取動態(tài)圖片:所述動態(tài)圖片由若干張png序列幀圖片組成;考慮到實際效果,對最短時長做限制,根據(jù)動畫效果來確定,保持在0.5-0.8秒內(nèi);最長時長沒有限制。
      [0010](2)建立json配置表:所述json配置表包含以下信息:循環(huán)段標識extendSect1n ;由幀圖片的序號pic及該幀的開始時間time組成的幀數(shù)組frameArry ;由每段的開始時間beginTime、結束時間endTime、壓縮標識Shrink、最短時長mintime和最長時長maxtime組成的分段數(shù)組timeArry。
      [0011]json配置表示例如下:
      {
      "extendSect1n'O,//對動態(tài)圖片進行延長時長需要對某段進行循環(huán)的標識參數(shù),其中段以O開始
      "frameArry":[
      {"time":0.0, "pic":0},
      {"time":0.1, "pic":l},
      {"time":0.2,"pic":2},
      {"time":0.3,"pic":3},
      {"time":0.4,"pic":4},
      {"time":0.5,"pic":4},
      {"time":0.6,"pic":4},
      {"time":0.7,"pic":5},
      {"time":0.8,"pic":6},
      {"time":0.9,"pic":7},
      {〃time〃:1.0,〃piC〃:8} //動態(tài)圖片幀數(shù)和幀率],
      〃timeArry〃:[
      {"beginTime": 0.0, "endTime":1.l〃shrink〃:0, 〃minTime〃:0,
      "maxTime": 0.77 }
      json配置表中,通過{〃time〃:0,〃piC〃:0}的方式將動態(tài)圖片每幀的開始時間及顯示時長以列表形式記錄;通過timeArry將每段的開始時間、結束時間,是否可壓縮,最短和最長時長的數(shù)據(jù)以段落形式記錄;其中frameArry中的Time是開始時間和幀率,pic是對應哪幀動態(tài)圖片;延長動畫通過配置表上方extendSect1n所填寫的數(shù)值來確定循環(huán)timeArry中哪段動畫;縮短動畫通過timeArry中Shrink,mintime和maxtime三個參數(shù)來實現(xiàn)。
      [0012]縮短動畫的實現(xiàn)原理:shrink標示O為不可壓縮幀率,標示I為可以壓縮幀率;Mintime是每段的最短時長,如果在該段寫入這段本身的時長,說明該段是不能被截去的;如果寫入O則表示該段是可以被截去的;MaXtime是每段的最長時長,如果寫入這段本身的時長,表示該段在調整動畫后是保留原動畫效果的;如果寫入0,則表示該段在調整動畫后是做循環(huán)播放處理的。
      [0013](3)如圖1所示,將步驟(I)獲取的動態(tài)圖片分段,包括以下三種情況: (3.1)分成三段:將具有進場效果、中間動畫和退場效果的動態(tài)圖片分為三段:開始段、循環(huán)段和結尾段;這種動態(tài)圖片的動畫效果主要是通過中間動畫來表現(xiàn),進出場段只是為了豐富動畫效果而已。
      [0014](3.2)分成兩段,包括兩種情況:
      a.所述的動態(tài)圖片動畫通過進場效果+停留段(停留某幀)來實現(xiàn)。
      [0015]b.所述的動態(tài)圖片動畫通過進場效果+循環(huán)段或循環(huán)段+出場效果來實現(xiàn)。
      [0016](3.3)不分段,包括兩種情況:
      a.所述的動態(tài)圖片的序列幀比較少,動畫通過一直循環(huán)該幾幀實現(xiàn)的。
      [0017]b.所述的動態(tài)圖片的動畫是連續(xù)性動畫,即幀圖片中物體每幀動畫及坐標不一致,不能進行截斷操作。
      [0018](4)填寫json配置表,具體包括以下子步驟:
      (4.1)根據(jù)步驟(I)中獲取的動態(tài)圖片自帶的幀填寫幀數(shù)組frameArry,對動態(tài)圖片自帶的幀
      當前第1頁1 2 
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1