PNG圖片格式詳解
PNG圖片格式特點:
Png這種圖片格式包括了許多子類,但是在實踐中大致可以分為256色的png和全色的png,你完成可以用256色的png代替gif,用全色的png代替jpeg,Png是完全支援alpha透明的(透明,半透明,不透明),儘管有兩個怪異的現象(在ie6下)。
png是一種無損耗的影象格式,這也意味著你可以對png圖片做任何操作也不會使得影象質量產生損耗。這也使得png可以作為jpeg編輯的過渡格式。
PNG在ie中的怪異表現:
1、IE6以下的瀏覽器支援PNG8的索引透明,但圖片必須為全透明,半透明的png8在瀏覽器下顯示為全透明。
2、Alpha透明的全色PNG(png32)在ie6中會出現背景顏色(通常是灰色)。
由上面可以總結:
(a)全透明的png8可以在任一瀏覽器正常顯示(就像gif一樣)。半透明的png8在除了ie6及其以下的瀏覽器下錯誤的顯示成全透明,其它瀏覽器都能正常顯示半透明。這個bug並不需要特殊對待,因為在不支援半透明的瀏覽器下只是顯示為全透明,對使用者體驗影響不大,它反而是透明gif的加強版。
(b)第二個bug沒有什麼好的方法解決,只能通過(AlphaImageLoader濾鏡和htc)方法來處理。
更多關於PNG:
PNG8
256色PNG的別名,無損格式,體積最小,但最多隻支援256色
PNG24
全色PNG的別名,除了png8的特點,理論上可以儲存2的24次方種顏色,但ie6之前的版本對此格式相容有問題
PNG32
全色PNG的別名,除了以上的特點外,體積稍大
相比GIF
PNG 8除了不支援動畫外,PNG8有GIF所有的特點,但是比GIF更加具有優勢的是它支援alpha透明和更優的壓縮。所以,大多數情況下,你都應該用PNG8不是GIF(除了非常小的圖片GIF會有更好的壓縮外)。
相比JPEG
JPEG比全色PNG具有更加好的壓縮,因此也使得JPEG適合照片,但是編輯JPEG過程中容易造成質量的損失,所以全色PNG適合作為編輯JPEG的過渡格式.
到底是png24 Alpha透明還是png32 Alpha透明?
這個可能跟每個人使用切圖軟體有關。
1、Photoshop
1)只能匯出布林透明(全透明或者全不透明)的PNG8。
2)能匯出alpha透明(全透明,全不透明,半透明)的PNG24。
3)不能匯出PNG32。
2、Fireworks
1)既能匯出布林透明的PNG8,也能匯出alpha透明的PNG8,半透明的png8在除了ie6及其以下的瀏覽器下錯誤的顯示成全透明。
2)能匯出PNG24,但是和jpeg差不多,不能透明。
3)能匯出alpha透明的PNG32。
應該說PNG24和PNG32是一樣,(The difference between PNG24 and PNG32)一文中指出PNG32中每個畫素不僅儲存了24位真彩資訊還儲存了8位alpha通道。所以fw匯出PNG32不用選擇透明,而ps匯出 PNG24時是要勾選透明度的,這時候的PNG24應該就轉化成了PNG32了吧。
PNG8與PNG24的區別:
PNG-8和PNG-24,其最大的區別不是顏色位的區別,而是儲存方式不同;
PNG-8 色盤索引、調色盤中一位透明值、不支援阿爾法通道的半透明,儲存格式中每個畫素無透明度的資料塊定義;PNG-8是用8位索引值來在調色盤中索引一個顏色,因為一個索引值的最大上限為2的8次方既128,故調色盤中顏色數最多為128種,所以該檔案格式又被叫做PNG-8128仿色。
PNG-24 無調色盤、支援阿爾法通道的半透明、每個點陣都有透明度的定義,最低32位真彩色;是PNG-24是用24位來儲存一個畫素值,是真彩色。
PNG-8 和 gif 有一些相似之處,模式都是索引顏色,只支援畫素級的純透明,不支援 alpha 透明。我們通常說的“IE6 不支援 PNG 透明”,是指不支援 PNG-24 的透明(將透明區域顯示為灰色)。
相關文件:WEB開發中合理選擇圖片格式
相關文章
- c#圖片生成png格式和原圖不同C#
- IE10與IMG圖片PNG顯示不了 WP中的WebBrowser中無法檢視PNG格式的圖片IE10Web
- 怎麼把Excel 表格轉成PNG、JPEG、GIF圖片格式 ?Excel
- png格式如何壓縮,圖片壓縮工具哪個好
- png圖片怎麼轉換成jpg 電腦上怎麼把png格式改成jpg
- 聊一聊幾種常用web圖片格式:gif、jpg、png、webpWeb
- PNG圖片原理二三事
- 【學習圖片】06:PNG
- 在matlab中如何將圖片(png和jpg)轉成mat格式Matlab
- 完美解決IE中PNG格式透明背景圖片顯示異常的各種方法【Z】
- win7系統下word中如何批量匯出png格式圖片Win7
- win7系統下word中如何批次匯出png格式圖片Win7
- js實現canvas儲存圖片為png格式並下載到本地JSCanvas
- win10怎麼png轉jpg格式 win10系統png怎麼轉換成jpg圖片Win10
- 使用Python實現批次PPT轉圖片,格式支援PNG、JPG,轉後圖片後批次重新命名Python
- C++讀取一個png圖片資訊-[lenna.png]C++
- GD 庫 PNG 透明底圖片新增文字及圖片水印
- java 電子印章 png 透明圖片Java
- activiti 生成當前任務圖片PNG
- PHP pdf轉化為圖片(PNG)PHP
- Android 製作.9.png圖片Android
- android 9PNG圖片製作Android
- 圖片壓縮知識梳理(1) PNG 原理
- koa 圖片上傳詳解
- 圖片上傳方案詳解
- 002.01 圖片移除背景成PNG檔案
- 光流.flo檔案生成.png圖片(可批量)
- Java實現emf轉jpg png 圖片轉換Java
- js圖片預載入詳解JS
- Javascript圖片預載入詳解JavaScript
- BMP點陣圖格式詳解--轉載
- [譯] 瞭解 Android 的向量圖片格式:VectorDrawableAndroid
- [譯] 瞭解 Android 的向量圖片格式:`VectorDrawable`Android
- SVG格式圖片的放大SVG
- Windows Phone 解析圖片格式Windows
- 圖片壓縮知識梳理(2) 減小 PNG 大小
- IE6png圖片實現半透明的方法
- 純前端實現 PNG 圖片壓縮 | UPNG.js前端JS