PNG圖片存儲(chǔ)的方法和技巧(2)
『PNG 索引透明』格式
說到索引顏色透明,我們可以了解下什么是索引顏色,『png索引透明』代表格式有『png8 索引透明』,導(dǎo)出軟件有:Photoshop、Fireworks,它的特點(diǎn)總結(jié)如下:
挑選一副圖片中最有代表性的若干種顏色(通常不超過256種)只能為不透明或全透明文件體積小帶有雜邊鋸齒支持IE6如何使用Photoshop導(dǎo)出『png8 索引透明』
使用Photoshop,存儲(chǔ)為web所有格式,按照如下圖片的紅色邊框配置,可導(dǎo)出png8索引透明
注:使用Photoshop導(dǎo)出『png8 索引透明』的效果比Fireworks導(dǎo)出的效果良好,這里不介紹使用Fireworks導(dǎo)出『png8 索引透明』
『png8 索引透明』產(chǎn)生雜邊鋸齒原因
『png8 索引透明』只有透明索引顏色,沒有半透明索引顏色,下圖左側(cè)為帶半透明像素的圖片,在瀏覽器中打開不會(huì)有鋸齒,而右側(cè)圖片為全透明或不透明的像素,在瀏覽器打開后有鋸齒。
由于『png8 索引透明』沒有半透明索引顏色,使用Photoshop導(dǎo)出時(shí),原有的半透明轉(zhuǎn)化為不透明,從而產(chǎn)生鋸齒。
如何避免『png8 索引透明』的雜邊鋸齒
方法:設(shè)置雜邊與背景色顏色一致可達(dá)到視覺上透明。
相信不難理解,利用雜邊與背景色一致,可以來滿足視覺上的透明,缺點(diǎn)是只能適應(yīng)一種背景色,在其它背景色下同樣會(huì)產(chǎn)生雜邊。
怎么設(shè)置呢,打開Photoshop,在存儲(chǔ)為web格式面板中進(jìn)行如下操作,在雜邊選項(xiàng)中選擇與背景色一致的顏色。
『PNG Alpha透明』格式
說到alpha透明,我們可以了解下什么是alpha通道,『pngalpha透明』代表格式有『png8 alpha透明』和『png32』,導(dǎo)出軟件有Fireworks,它的特點(diǎn)總結(jié)如下:
一個(gè)8位的灰度通道,該通道用256級(jí)灰度來記錄圖像中的透明度信息,定義透明、不透明和半透明區(qū)域支持全透明和半透明『Png8 alpha透明』文件體積小『Png8 alpha透明』在IE6下有毛邊如何使用Fireworks導(dǎo)出『png8 alpha透明』
Firewoks中,在優(yōu)化面板,按照如下圖片的紅色邊框配置,可導(dǎo)出png8 alpha透明。
注:Firewoks支持導(dǎo)出『png8 alpha透明』,Photoshop不支持導(dǎo)出『png8 alpha透明』
手機(jī)端選擇哪種Png
說到手機(jī),考慮流量的問題是必不可少的,所選png需要滿足體積小和視覺效果良好,那么哪種png格式符合這2個(gè)要求呢?做個(gè)實(shí)驗(yàn)吧~
不同Png格式測(cè)試
測(cè)試平臺(tái):ios&android webkit瀏覽器
測(cè)試圖片:彩種雪碧圖1230*82
測(cè)試內(nèi)容:同一張雪碧圖導(dǎo)出不同png格式的大小、透明度、雜邊以及在retina顯示屏和普通顯示屏下的對(duì)比
測(cè)試結(jié)果:
從上圖可見png32和png24體積太大了,十分消耗手機(jī)用戶流量,不是我們選擇的范圍,那么可以鎖定目標(biāo)在『png8 alpha透明』和『png8 索引透明』中,2者對(duì)比,可以看出『png8 alpha』在手機(jī)端的支持是良好,可能有童鞋會(huì)認(rèn)為,單憑一張圖片也不能下結(jié)論~
而經(jīng)過筆者使用多張雪碧圖測(cè)試后使用Fireworks導(dǎo)出的『png8 alpha』,在手機(jī)端的支持是比較好的~不僅文件體積小,節(jié)省流量,而且半透明效果良好
于是,移動(dòng)端采用『Png8 alpha透明』,相信『Png8 alpha透明』是未來的一種趨勢(shì)~
PC端選擇哪種Png
PC端使用哪種png,其實(shí)這個(gè)話題很早就有結(jié)論了,這里簡(jiǎn)單介紹下。
使用png8的方案:
使用photoshop打開雪碧圖,分別導(dǎo)出一張png32和一張『png8 索引透明』的圖片,高級(jí)瀏覽器使用png32位圖片,針對(duì)IE6使用『png8 索引透明』,并設(shè)置『png8 索引透明』雜邊與背景色顏色一致可達(dá)到視覺上透明
注:為啥使用png32而不使用『png8 alpha透明』?因?yàn)閜c端的網(wǎng)速大多良好,建議使用表現(xiàn)更佳的png圖片,顯然png32是最合適的,當(dāng)然你也可以使用『png8 alpha透明』,但是在高清顯示器下的質(zhì)量不如png32
.bg{ background:url(global.png?v=20130530) no-repeat; _background:url(global_png8.png?v=20130530) no-repeat;//IE6使用的背景圖 }
使用IE濾鏡的方案:
比較耗性能,而且存在不支持背景平鋪,導(dǎo)致鏈接失效等缺點(diǎn),不推薦該方案,不要為了IE而把自己搞得像IE~
.bg{filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src="img.png", sizingMethod="scale");}
另外還有js和打補(bǔ)丁的辦法,這里不做介紹,大家有興趣可以百度下:IE6支持png24
Png的格式、顏色種類、位數(shù)、透明度、瀏覽器支持一覽
學(xué)習(xí) · 提示
相關(guān)教程