<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    posts - 101,  comments - 29,  trackbacks - 0

    你有沒(méi)有想過(guò):為了壓縮js文件,把js文件轉(zhuǎn)化成PNG圖像,然后用 canvas 控件中的 getImageData() 函數(shù)將圖像再重新讀成js文件。我昨天在這里發(fā)表的JS文件快速加載的文章中提到了這一方法,有網(wǎng)友對(duì)這個(gè)做法很感興趣,于是今天詳細(xì)解讀一下。

    這樣可以做到很高的壓縮比,到底有多高,下面會(huì)提到。這種方法用到了 canvas 控件,這也意味著只有支持 canvas 控件的瀏覽器下才有效。

    現(xiàn)在你可以看到,上面的圖像類(lèi)似一個(gè)噪聲圖像,但它實(shí)際上是一個(gè)由124K的 prototype 框架代碼轉(zhuǎn)化成的30K的8位PNG圖像(壓縮比還不錯(cuò)吧)。

    其實(shí),要將代碼轉(zhuǎn)化為圖像的格式存儲(chǔ),可以轉(zhuǎn)化成GIF和PNG格式。PNG格式的圖像有24位和8位,用24位的RGB圖像,每個(gè)像素可以存儲(chǔ)3字節(jié)的數(shù)據(jù),如果是用8位的RGB圖像,每個(gè)像素可以存儲(chǔ)1字節(jié)的數(shù)據(jù)。

    在PHOTOSHOP中做測(cè)試發(fā)現(xiàn):一個(gè)300x100的純色雜點(diǎn)8位圖像可以壓縮到5K,而同樣的純色雜點(diǎn)圖像,如果是100x100的24位圖像只能壓縮到20K。如果是同樣圖案的8位GIF圖像,壓縮效果比PNG要差一些。所以,我們選擇用8位的PNG圖像作為壓縮和解壓縮的存儲(chǔ)格式。

    現(xiàn)在,我們就需要開(kāi)始?jí)嚎s圖像了,下面是用PHP寫(xiě)的壓縮文件地址。
    http://www.cleanthem.com/code/20120620/js-to-png.txt

    它讀取JS文件并創(chuàng)建一個(gè)PNG圖像,圖像中的每個(gè)像素中是一個(gè)0-255之間的值,而這個(gè)值對(duì)應(yīng)的是JS字符的ascII的值。

    當(dāng)然,除了壓縮,還要有解壓縮,也就是將圖像讀取為JS文件的過(guò)程。這個(gè)函數(shù)是用JS寫(xiě)的,可以從下面的位置下載這個(gè)文件。
    http://www.cleanthem.com/code/20120620/pngdata.txt

    最后給出在線測(cè)試地址,在這個(gè)網(wǎng)頁(yè)上,您可以在列表中選擇一個(gè)PNG圖像文件,點(diǎn)擊 load file 按鈕可以在網(wǎng)頁(yè)上看到這個(gè)圖像,在圖像的下面是由這個(gè)圖像所讀出來(lái)的代碼文件。

    http://www.nihilogic.dk/labs/canvascompress/

     

    注:轉(zhuǎn)載請(qǐng)注明出處,覺(jué)得有用就推薦一下吧~

    posted on 2012-08-05 01:26 mixer-a 閱讀(2325) 評(píng)論(4)  編輯  收藏

    只有注冊(cè)用戶(hù)登錄后才能發(fā)表評(píng)論。


    網(wǎng)站導(dǎo)航:
     
    主站蜘蛛池模板: 国产亚洲福利在线视频| 亚洲午夜精品在线| 激情吃奶吻胸免费视频xxxx| 成人免费视频小说| 亚洲aⅴ无码专区在线观看 | 亚洲成a人片在线播放| 亚洲a无码综合a国产av中文| 国产嫩草影院精品免费网址| 亚洲成a人片在线不卡一二三区| 成人毛片视频免费网站观看| 亚洲日韩精品无码AV海量| 在线播放免费人成视频在线观看| 亚洲人成网站在线播放2019| 国产小视频免费观看| www.av在线免费观看| 亚洲精品无码国产| 无码日韩精品一区二区免费暖暖| 久久精品国产亚洲AV大全| 99久久这里只精品国产免费| 亚洲AV无码XXX麻豆艾秋| 亚洲国产精品无码久久青草| 在线免费观看伊人三级电影| 亚洲精品综合一二三区在线| **毛片免费观看久久精品| 亚洲卡一卡二卡乱码新区| 亚洲?V无码乱码国产精品| 中文字幕在线免费看| 亚洲毛片免费观看| 国产一级特黄高清免费大片| a级毛片高清免费视频就| 亚洲最大中文字幕| 国产hs免费高清在线观看| 久久免费视频99| 亚洲精品中文字幕无码A片老| 亚洲国产精品第一区二区三区| 久久99热精品免费观看动漫| 亚洲午夜无码久久久久软件| 最新精品亚洲成a人在线观看| 91嫩草免费国产永久入口| 另类小说亚洲色图| 亚洲激情视频在线观看|