日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

png的那点事儿

發布時間:2025/5/22 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 png的那点事儿 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

有人跟我扯png,我來點專業的,真正意義的png標準如下:

PNG8? 8并不是2^8=256色,而是有一個調色板(顏色表),顏色用索引來描述,參見:http://www.w3.org/TR/PNG/#4Concepts.Implied-alpha

PNG24 24是指每一像素用24位二進制數來描述RGB,8位Red+8位Green+8位Blue.

PNG32 32是指每一像素用32位二進制數來描述RGBA,8位Red+8位Green+8位Blue+8位Alpha

再談談透明的概念
布爾透明(索引透明):全透明和不透明二種
Alpha透明:256階透明

正是因為有很多軟件才給會給您帶來誤解,讓我們來看看(不好意思借了彈彈堂的圖)
Photoshop
png8 只支持布爾透明,有調色版,73.5k


png24 可以選擇透明(實際是標準png32)279k; 不透明(實際是標準png24),231k


Fireworks
png8 支持索引透明和Alpha透明,二個顏色表(調色板)有很大的區別,文件體積差別不大都只有66k左右

png24 同標準,沒有調色板,文件很大234k。不支持透明度!
如果保存為jpg格式,100品質,文件為155k,60的品質,文件大小為34k!


png32 同標準,沒有調色板,文件和png24差不多的,支持透明

Flash
1.如果把fireworks png8 alpha透明的圖導入到flash,輸出為swf,大小為46.1k
2.如果把fireworks png32透明的圖導入到flash,輸出為swf,大小為40.6k
3.如果把fireworks jpg 品質60 不帶透明的圖導入到flash,輸出為swf,大小為33.4k

? 不同的格式圖,不同位圖屬性壓縮條件

??? a.? jpg,在swf中tag為:
選照片(jpeg) 有損非透明???? DefineBitsJpeg2=? imgData (壓縮方式就是jpg標準的壓縮方式,http://www.w3.org/Graphics/JPEG/)
選無損(png)?? 無損非透明??? DefineBitsLossless???
??? b. 透明的png,在swf中tag為:
選照片(jpeg) 有損透明?????? DefineBitsJpeg3?????? = imgData(jpg壓縮) + alphaData(zlib壓縮 totalsize = w*h)?
選無損(png) 無損透明?????? DefineBitsLossless2? = colorTable(8 bit RGB /32 bit ARGB) + zibImgdata
c.非透明的png ,在swf中tag為:
?????????????? 選照片(jpeg) 有損非透明 DefineBits? = jpegData ,整個swf只有一個 jpegTables = jpegData ,多個DefineBits 可共享使用jpegTables,所以比DefineBitsJpeg2小
?????????????? 選無損(png)? 無損非透明???? DefineBitsLossless??? = colorTable(8 bit RGB /15 bit RGB/24 bit RGB) + zibImgdata
???? d.最有一個特別的 ,DefineBitsJpeg4 同? DefineBitsJpeg3 ,多了 deblocking filter,具體的可參見flash.system.JPEGLoaderContext(Flash player 10)
????? 可以看出1和2圖片本身大小差的很多,在輸出為swf后文件差異不大,是因為swf本身采用和png8類似結構存圖,把顏色和alpha分開存,顏色支持更豐富。3圖片和輸出swf后差別非常小,因為swf本身就按jpg標準存的。

????? 有些軟件號稱能再次壓縮swf中圖,實際就是把imgData中jpg的一些編輯,版權等摘要信息刪除

總結:

1.如果基于html用圖,不導入flash,對顏色要求不高,需要透明,可用考慮用png8的aplha透明導出,注意png是無損壓縮的
3.如果基于flash應用,需要透明,直接用png 32.
4. 如果基于flash應用不想用png,又需要透明,可以考慮用下面方式存,左邊彩色的存為jpg(34k),右邊黑白的存png8(僅4k),用代碼方式計算出透明。文件體積也會小不少。jpg是有損壓縮的,不支持透明度. png是無損的.同等條件jpg比png小的多

轉載于:https://www.cnblogs.com/sdk3108/archive/2011/09/28/2193915.html

總結

以上是生活随笔為你收集整理的png的那点事儿的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。