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

      一種動畫可移植網(wǎng)絡(luò)圖形圖片的生成方法和裝置的制造方法

      文檔序號:8528721閱讀:1614來源:國知局
      一種動畫可移植網(wǎng)絡(luò)圖形圖片的生成方法和裝置的制造方法【
      技術(shù)領(lǐng)域
      】[0001]本發(fā)明涉及圖像處理技術(shù),特別涉及一種動畫可移植網(wǎng)絡(luò)圖形(APNG,AnimatedPortableNetworkGraphics)圖片的生成方法和裝置。【
      背景技術(shù)
      】[0002]APNG是一種基于可移植網(wǎng)絡(luò)圖形(PNG,PortableNetworkGraphics)的位圖動畫格式,擴(kuò)展方法類似于圖形交換格式(GIF,GraphicsInterchangeFormat)_89a,仍保留對傳統(tǒng)PNG的向下兼容。[0003]現(xiàn)有APNG圖片的生成方式類似于GIF,即將一組大小相同的PNG圖片合并為一張APNG圖片,原來的每一張PNG圖片均變?yōu)锳PNG圖片的一幀。[0004]圖1為現(xiàn)有APNG圖片的生成方式示意圖。[0005]如圖1所示,假設(shè)利用3張PNG圖片來生成一張APNG圖片,為便于表述,按照由先到后的展示順序,將3張PNG圖片分別稱為framel、frame2和frame3;[0006]首先,可確定出相比于framel,frame2中存在的變化區(qū)域,并記錄變化區(qū)域的圖片數(shù)據(jù)和位置信息;[0007]之后,可確定出相比于frame2,frame3中存在的變化區(qū)域,并記錄變化區(qū)域的圖片數(shù)據(jù)和位置信息;[0008]最后,可根據(jù)framel的圖片數(shù)據(jù)的和圖片信息、frame2中的變化區(qū)域的圖片數(shù)據(jù)和位置信息,以及frame3中的變化區(qū)域的圖片數(shù)據(jù)和位置信息,生成該APNG圖片;其中,圖片信息可包括圖片大小等。[0009]具體地,可生成該APNG圖片的數(shù)據(jù)文件,其中按照預(yù)定格式保存有framel的圖片數(shù)據(jù)和圖片信息、frame2中的變化區(qū)域的圖片數(shù)據(jù)和位置信息,以及frame3中的變化區(qū)域的圖片數(shù)據(jù)和位置信息;當(dāng)解析時,針對除framel以外的每張PNG圖片,可根據(jù)每張PNG圖片中的變化區(qū)域的位置信息,用變化區(qū)域的圖片數(shù)據(jù)來替換與其相鄰的前一張PNG圖片中的對應(yīng)位置的圖片數(shù)據(jù),從而依次還原出各張PNG圖片,并呈現(xiàn)出該APNG圖片的動畫效果。[0010]可以看出,采用上述方式后,可以復(fù)用相鄰的前一張PNG圖片中的相同區(qū)域的圖片數(shù)據(jù),從而達(dá)到了數(shù)據(jù)壓縮的效果,進(jìn)而減少了所保存的數(shù)據(jù)量,節(jié)省了存儲空間。[0011]但是,上述壓縮效果有限,為了進(jìn)一步節(jié)省存儲空間,還需要通過其它方式來進(jìn)一步提升壓縮效果?!?br/>發(fā)明內(nèi)容】[0012]有鑒于此,本發(fā)明提供了一種APNG圖片的生成方法和裝置,能夠提升壓縮效果。[0013]為了達(dá)到上述目的,本發(fā)明的技術(shù)方案是這樣實(shí)現(xiàn)的:[0014]一種APNG圖片的生成方法,包括:[0015]當(dāng)需要生成一張APNG圖片時,按照由先到后的展示順序?qū)ι稍揂PNG圖片所需的M張可移植網(wǎng)絡(luò)圖形PNG圖片進(jìn)行排序,M為正整數(shù);[0016]針對排序后處于第i位的PNG圖片i,l<i(M,分別確定相比于進(jìn)行有損壓縮之前的PNG圖片j,j=1-l,PNG圖片i中存在的變化區(qū)域,并記錄變化區(qū)域的位置信息;對PNG圖片i進(jìn)行有損壓縮,根據(jù)所記錄的PNG圖片i中的變化區(qū)域的位置信息,從進(jìn)行有損壓縮后的PNG圖片i中裁剪出變化區(qū)域,并記錄裁剪出的變化區(qū)域的圖片數(shù)據(jù);[0017]根據(jù)排序后處于第一位的PNG圖片以及所記錄的信息,生成該APNG圖片。[0018]一種APNG圖片的生成裝置,包括:[0019]第一處理模塊,用于當(dāng)需要生成一張APNG圖片時,按照由先到后的展示順序?qū)ι稍揂PNG圖片所需的M張可移植網(wǎng)絡(luò)圖形PNG圖片進(jìn)行排序,M為正整數(shù),并將排序結(jié)果通知給第二處理模塊;[0020]所述第二處理模塊,用于針對排序后處于第i位的PNG圖片i,l<i(M,分別確定相比于進(jìn)行有損壓縮之前的PNG圖片j,j=1-l,PNG圖片i中存在的變化區(qū)域,并記錄變化區(qū)域的位置信息J^PNG圖片i進(jìn)行有損壓縮,根據(jù)所記錄的PNG圖片i中的變化區(qū)域的位置信息,從進(jìn)行有損壓縮后的PNG圖片i中裁剪出變化區(qū)域,并記錄裁剪出的變化區(qū)域的圖片數(shù)據(jù);根據(jù)排序后處于第一位的PNG圖片以及所記錄的信息,生成該APNG圖片。[0021]可見,采用本發(fā)明所述方案,在生成APNG圖片時,不但可以復(fù)用相鄰的前一張PNG圖片中的相同區(qū)域的圖片數(shù)據(jù),而且可以對PNG圖片進(jìn)行有損壓縮,從而進(jìn)一步提升了壓縮效果,進(jìn)而進(jìn)一步節(jié)省了存儲空間等?!靖綀D說明】[0022]圖1為現(xiàn)有APNG圖片的生成方式示意圖。[0023]圖2為本發(fā)明APNG圖片的生成方法實(shí)施例的流程圖。[0024]圖3為本發(fā)明APNG圖片的生成方式示意圖。[0025]圖4為本發(fā)明APNG圖片的生成裝置實(shí)施例的組成結(jié)構(gòu)示意圖?!揪唧w實(shí)施方式】[0026]針對現(xiàn)有技術(shù)中存在的問題,本發(fā)明中提出一種改進(jìn)后的APNG圖片的生成方案,不但可以復(fù)用相鄰的前一張PNG圖片中的相同區(qū)域的圖片數(shù)據(jù),而且可以對PNG圖片進(jìn)行有損壓縮。[0027]有損壓縮是利用了人類對于圖片中的某些色彩不敏感的特性,允許壓縮過程中損失一定的信息,雖然后續(xù)不能完全恢復(fù)原始數(shù)據(jù),但是所損失的部分對于理解原圖片并不會造成實(shí)質(zhì)影響。[0028]在實(shí)際應(yīng)用中,對PNG圖片進(jìn)行有損壓縮的時機(jī)選擇非常重要,比如,如果先對各PNG圖片進(jìn)行有損壓縮,然后再按照圖1所示方式生成APNG圖片,則會出現(xiàn)問題。[0029]因?yàn)閷τ谌我庖粡圥NG圖片來說,當(dāng)對其進(jìn)行有損壓縮后,會對其中的圖片數(shù)據(jù)進(jìn)行重組,從而導(dǎo)致該P(yáng)NG圖片與相鄰的前一張PNG圖片中的相同區(qū)域發(fā)生變化,進(jìn)而導(dǎo)致不能復(fù)用相鄰的前一張PNG圖片中的相同區(qū)域的圖片數(shù)據(jù)。[0030]基于上述介紹,圖2為本發(fā)明APNG圖片的生成方法實(shí)施例的流程圖。如圖2所示,包括以下步驟21?23。[0031]步驟21:當(dāng)需要生成一張APNG圖片時,按照由先到后的展示順序?qū)ι稍揂PNG圖片所需的M張PNG圖片進(jìn)行排序,M為正整數(shù)。[0032]如前所述,一張APNG圖片是由一組大小相同的PNG圖片合并而成的,其中,各張PNG圖片的展示順序是有預(yù)定要求的。[0033]本步驟中,當(dāng)需要生成一張APNG圖片時,即可按照由先到后的展示順序,對生成該APNG圖片所需的各張PNG圖片進(jìn)行排序。[0034]步驟22:針對排序后處于第i位的PNG圖片i,l〈i彡M,分別確定相比于進(jìn)行有損壓縮之前的PNG圖片j,j=1-l,PNG圖片i中存在的變化區(qū)域,并記錄變化區(qū)域的位置信息;對PNG圖片i進(jìn)行有損壓縮,根據(jù)所記錄的PNG圖片i中的變化區(qū)域的位置信息,從進(jìn)行有損壓縮后的PNG圖片i中裁剪出變化區(qū)域,并記錄裁剪出的變化區(qū)域的圖片數(shù)據(jù)。[0035]變化區(qū)域即指不同區(qū)域,所述不同可包括任意不同,如圖片內(nèi)容不同或圖片亮度不同等。[0036]所述變化區(qū)域的位置信息可包括:變化區(qū)域的左上角坐標(biāo)以及變化區(qū)域的長和寬,或者,變化區(qū)域的左上角坐標(biāo)和右下角坐標(biāo),或者,變化區(qū)域的右上角坐標(biāo)和左下角坐標(biāo),或者,變化區(qū)域的中心點(diǎn)坐標(biāo)以及長和寬等;只要能夠定義出變化區(qū)域在PNG圖片的具體位置即可。[0037]為便于表述,本實(shí)施例中,用PNG圖片i來表不排序后處于第2?M位的任意一張PNG圖片,用PNG圖片j來表示與PNG圖片i相鄰的前一張PNG圖片。[0038]針對排序后處于第2?M位的各張PNG圖片,可在分別確定出其變化區(qū)域并記錄變化區(qū)域的位置信息之后,再分別對各張PNG圖片進(jìn)行有損壓縮和裁剪等處理,如何確定變化區(qū)域和現(xiàn)有技術(shù)中相同。[0039]可以看出,本發(fā)明所述方案中是在確定出變化區(qū)域之后,才對PNG圖片進(jìn)行有損壓縮,從而避免了先進(jìn)行有損壓縮所導(dǎo)致的不能復(fù)用相鄰的前一張PNG圖片中的相同區(qū)域的圖片數(shù)據(jù)的問題。[0040]另外,具體采用何種有損壓縮算法來對各張PNG圖片進(jìn)行有損壓縮不作限制。[0041]步驟23:根據(jù)排序后處于第一位的PNG圖片以及所記錄的信息,生成該APNG圖片。[0042]本步驟中,可采用以下兩種實(shí)現(xiàn)方式:[0043]I)方式一[0044]根據(jù)排序后處于第一位的PNG圖片的圖片數(shù)據(jù)和圖片信息,以及排序后處于第2?M位的各PNG圖片中的變化區(qū)域的圖片數(shù)據(jù)和位置信息,生成該APNG圖片;[0045]2)方式二[0046]對排序后處于第一位的PNG圖片進(jìn)行有損壓縮;根據(jù)排序后處于第一位且進(jìn)行有損壓縮后的PNG圖片的圖片數(shù)據(jù)和圖片信息,以及排序后處于第2?M位的各PNG圖片中的變化區(qū)域的圖片數(shù)據(jù)和位置信息,生成該APNG圖片。[0047]也就是說,對于排序后處于第一位的PNG圖片,可以對其進(jìn)行有損壓縮,也可以不對其進(jìn)行有損壓縮,具體采用上述哪種方式可根據(jù)實(shí)際需要而定。[0048]所述圖片信息可包括圖片大小等。[0049]另外,理論上來說,每張PNG圖片中的變化區(qū)域的個數(shù)可能是一個,也可能是多個,但在實(shí)際應(yīng)用中,通常只會涉及到一個的情況,無論是一個還是多個,本發(fā)明所述方案均適用。[0050]以下當(dāng)前第1頁1 2 
      當(dāng)前第1頁1 2 
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
      1