<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          【W(wǎng)eb技術】1064- 前端9種圖片格式基礎知識, 你應該知道的

          共 5580字,需瀏覽 12分鐘

           ·

          2021-08-29 22:06

          彩色深度

          彩色深度標準通常有以下幾種:

          • 8位色,每個像素所能顯示的彩色數(shù)為2的8次方,即256種顏色。
          • 16位增強色,16位彩色,每個像素所能顯示的彩色數(shù)為2的16次方,即65536種顏色。
          • 24位真彩色[1],每個像素所能顯示的彩色數(shù)為24位,即2的24次方,約1680萬種顏色。
          • 32位真彩色,即在24位真彩色圖像的基礎上再增加一個表示圖像透明度信息的Alpha通道。
            32位真彩色并非是2的32次方的色數(shù),它其實也是1677萬多色,不過它增加了256階顏色的灰度,為了方便稱呼,就規(guī)定它為32位色

          圖的分類

          光柵圖和矢量圖

          對于圖片,一般分光柵圖和矢量圖。

          • 光柵圖:是基于 pixel像素構成的圖像。JPEG、PNG,webp等都屬于此類
          • 矢量圖:使用點,線和多邊形等幾何形狀來構圖,具有高分辨率和縮放功能. SVG就是一種矢量圖。

          無壓縮, 無損壓縮, 有損壓縮

          另一種分類

          • 無壓縮。無壓縮的圖片格式不對圖片數(shù)據(jù)進行壓縮處理,能準確地呈現(xiàn)原圖片。BMP格式就是其中之一。

          • 無損壓縮。壓縮算法對圖片的所有的數(shù)據(jù)進行編碼壓縮,能在保證圖片的質(zhì)量的同時降低圖片的尺寸。png是其中的代表。

          • 有損壓縮。壓縮算法不會對圖片所有的數(shù)據(jù)進行編碼壓縮,而是在壓縮的時候,去除了人眼無法識別的圖片細節(jié)。因此有損壓縮可以在同等圖片質(zhì)量的情況下大幅降低圖片的尺寸。其中的代表是jpg。

          前端9種圖片格式

          誕生時間

          對于超過30歲的程序員來說,她們都很年輕,真的是遇到好時光!

          85年前,人們都在干嘛呢?

          1. GIF - 1987
          2. Base64- 1987
          3. JPEG - 1992
          4. PNG - 1996
          5. SVG - 1999
          6. JPEG2000 - 1997 to 2000
          7. APNG - 2004
          8. WebP - 2010

          ico: 1985年??
          查閱文檔說ico文件格式是伴隨著 Windows 1.0 發(fā)行誕生的。

          GIF

          GIF是一種索引色模式圖片,所以GIF每幀圖所表現(xiàn)的顏色最多為256種。GIF能夠支持動畫,也能支持背景透明,這點連古老的IE6都支持,所以在以前想要在項目中使用背景透明圖片,其中一種方案就是生成GIF圖片。

          優(yōu)點

          • 支持動畫和透明背景
          • 兼容性好
          • 灰度圖像表現(xiàn)佳
          • 支持交錯
            部分接收到的文件可以以較低的質(zhì)量顯示。這在網(wǎng)絡連接緩慢時特別有用。

          缺點

          • 最多支持 8 位 256 色,色階過渡糟糕,圖片具有顆粒感
          • 支持透明,但不支持半透明,邊緣有雜邊

          適用場景

          • 色彩簡單的logo、icon、線框圖適合采用gif格
          • 動畫

          JPG/JPEG

          這里提個問題:jpg和jpeg有啥區(qū)別

          平常我們大部分見到的靜態(tài)圖基本都是這種圖片格式。這種格式的圖片能比較好的表現(xiàn)各種色彩,主要在壓縮的時候會有所失真,也正因為如此,造就了這種圖片格式體積的輕量。

          優(yōu)點

          • 壓縮率高
          • 兼容性好
          • 色彩豐富

          缺點

          • JPEG不適合用來存儲企業(yè)Logo、線框類的這種高清圖
          • 不支持動畫、背景透明

          JPEG 2000 (了解即可)

          JPEG 2000是基于小波變換的圖像壓縮標準,由Joint Photographic Experts Group組織創(chuàng)建和維護。JPEG 2000通常被認為是未來取代JPEG(基于離散余弦變換)的下一代圖像壓縮標準。JPEG 2000文件的副檔名通常為.jp2,MIME類型是image/jp2。

          JPEG2000的壓縮比更高,而且不會產(chǎn)生原先的基于離散余弦變換的JPEG標準產(chǎn)生的塊狀模糊瑕疵。JPEG2000同時支持有損壓縮[2]無損壓縮[3]

          目前就safari支持,can is use-png2000[4]支持18%。

          優(yōu)點

          • 支持有損和無損壓縮

          缺點

          • 支持率太低了

          ICO

          ICO (Microsoft Windows 圖標)文件格式是微軟為 Windows 系統(tǒng)的桌面圖標設計的。網(wǎng)站可以在網(wǎng)站的根目錄中提供一個名為 favicon.ICO, 在收藏夾菜單中顯示的圖標,以及其他一些有用的標志性網(wǎng)站表示形式。
          一個 ICO 文件可以包含多個圖標,并以列出每個圖標詳細信息的目錄開始。

          其主要用來做網(wǎng)站圖標,現(xiàn)在png也是可以用來做網(wǎng)站圖標的。

          PNG

          PNG格式是有三種版本的,分別為PNG-8,PNG-24,PNG-32,所有這些版本都不支持動畫的。PNG-8跟GIF類似的屬性是相似的,都是索引色模式,而且都支持背景透明。相對比GIF格式好的特點在與背景透明時,圖像邊緣沒有什么噪點,顏色表現(xiàn)更優(yōu)秀。PNG-24其實就是無損壓縮的JPEG。而PNG-32就是在PNG-24的基礎上,增加了透明度的支持。

          如果沒有動畫需求推薦使用png-8來替代gif

          優(yōu)點

          1. 不失真的情況下盡可能壓縮圖像文件的大小
          2. 像素豐富
          3. 支持透明(alpha通道)

          缺點

          1. 文件大

          這里額外提一下,gif和jpg有漸進,png有交錯,都是在沒有完全下載圖片的時候,能看到圖片全貌。

          具體可以看在線示例:png正常,png交錯,jpg漸進[5]

          APNG:Animated PNG

          APNG(Animated Portable Network Graphics)顧名思義是基于 PNG 格式擴展的一種動畫格式,增加了對動畫圖像的支持,同時加入了 24 位圖像和 8 位 Alpha 透明度的支持,這意味著動畫將擁有更好的質(zhì)量,其誕生的目的是為了替代老舊的 GIF 格式,但它目前并沒有獲得 PNG 組織官方的認可。

          從Can I Use上查看,除了IE系列, chrome, firefox, safari均已支持。2021-08月的時候支持達到94%。

          相對GIF來說

          • 色彩豐富
          • 支持透明
          • 向下兼容 PNG
          • 支持動畫

          缺點

          • 生成比較繁瑣
          • 未標準化

          webP

          有損 WebP 圖像平均比視覺上類似壓縮級別的 JPEG 圖像小25-35% 。無損耗的 WebP 圖像通常比 PNG 格式的相同圖像小26% 。WebP 還支持動畫: 在有損的 WebP 文件中,圖像數(shù)據(jù)由 VP8位流表示,該位流可能包含多個幀。

          包括體積小、色彩表現(xiàn)足夠、支持動畫。簡直了就是心中的完美女神!!

          can i use - webp[6]上看,支持率95%。主要是Safari低版本和IE低版本不兼容。

          優(yōu)點

          • 同等質(zhì)量更小
          • 壓縮之后質(zhì)量無明顯變化
          • 支持無損圖像
          • 支持動畫

          缺點

          • 兼容性吧,相對jpg,png,gif來說

          SVG

          SVG 是一種基于 xml 的矢量圖形格式,它將圖像的內(nèi)容指定為一組繪圖命令,這些命令創(chuàng)建形狀、線條、應用顏色、過濾器等等。SVG 文件是理想的圖表,圖標和其他圖像,可以準確地繪制在任何大小。因此,SVG 是現(xiàn)代 Web 設計中用戶界面元素的流行選擇。

          優(yōu)點

          • 可伸縮性
            你可以隨心所欲地把它們做大或者做小,而不用犧牲質(zhì)量

          • Svg 平均比 GIF、 JPEG、 PNG 小得多,甚至在極高的分辨率下也是如此
          • 支持動畫
            更靈活,質(zhì)量無與倫比
          • 與DOM無縫銜接
            Svg 可以直接使用 HTML、 CSS 和 JavaScript (例如動畫)來操作

          缺點

          • SVG復雜度高會減慢渲染速度
          • 不適合游戲類等高互動動畫

          base64

          圖片的 base64 編碼就是可以將一副圖片數(shù)據(jù)編碼成一串字符串,使用該字符串代替圖像地址,圖片隨著 HTML 的下載同時下載到本地,不再單獨消耗一個http來請求圖片。

          優(yōu)點

          • 無額外請求
          • 對于極小或者極簡單圖片
          • 可像單獨圖片一樣使用,比如背景圖片重復使用等
          • 沒有跨域問題,無需考慮緩存、文件頭或者cookies問題

          缺點

          • 相比其他格式,體積會至少大1/3
          • 編碼解碼有額外消耗

          一些對比

          PNG, GIF, JPG 比較

          大小比較:通常地,PNG ≈ JPG > GIF 8位的PNG完全可以替代掉GIF
          透明性:PNG > GIF > JPG
          色彩豐富程度:JPG > PNG >GIF
          兼容程度:GIF ≈ JPG > PNG

          gif, jpg, png, web優(yōu)缺點和使用場景

          格式優(yōu)點缺點適用場景
          gif文件小,支持動畫、透明,無兼容性問題只支持256種顏色色彩簡單的logo、icon、動圖
          jpg色彩豐富,文件小有損壓縮,反復保存圖片質(zhì)量下降明顯色彩豐富的圖片/漸變圖像
          png無損壓縮,支持透明,簡單圖片尺寸小不支持動畫,色彩豐富的圖片尺寸大logo/icon/透明圖
          webp文件小,支持有損和無損壓縮,支持動畫、透明瀏覽器兼容性相對而言不好支持webp格式的app和webview

          其他圖片格式

          AVIF

          號稱下一代圖片格式AVIF。
          AVIF是一種基于AV1視頻編碼的新圖像格式,相對于JPEG,WEBP這類圖片格式來說,它的壓縮率更高,并且畫面細節(jié)更好。而最關鍵的是,它是免費且開源的,沒有任何授權費用。

          其擁有webp的所有優(yōu)點,而且壓縮率更高,更狠的是開源JS可解析,只是目前從caniuse查詢到的支持率才 67%左右

          TPG

          騰訊自研的圖片格式, 壓縮率比webp還優(yōu)秀。


          寫在最后

          歡迎關注

          或者添加我的微信 dirge-cloud,一起學習

          引用

          圖像文件類型與格式指南[8]
          JPEG_2000[9]
          APNG - Wikipedia[10]
          Can I use - APNG[11]談談web上各種圖片應用的優(yōu)缺點[12]
          web前端開發(fā)常用的幾種圖片格式及其使用規(guī)范[13]
          聊一聊幾種常用web圖片格式:gif、jpg、png、webp[14]
          APNG 那些事[15]
          GIF vs APNG vs WebP[16]
          淺談base64圖片[17]
          圖片Base64編碼的利與弊分析[18]
          ICO File Format[19]

          參考資料

          [1]

          真彩色: https://baike.baidu.com/item/%E7%9C%9F%E5%BD%A9%E8%89%B2

          [2]

          有損壓縮: https://baike.baidu.com/item/%E6%9C%89%E6%8D%9F%E5%8E%8B%E7%BC%A9

          [3]

          無損壓縮: https://baike.baidu.com/item/%E6%97%A0%E6%8D%9F%E5%8E%8B%E7%BC%A9

          [4]

          can is use-png2000: https://caniuse.com/#search=JPEG2000

          [5]

          https://xiangwenhu.github.io/TakeItEasy/bgWhithe/progress.html: https://link.juejin.cn/?target=https%3A%2F%2Fxiangwenhu.github.io%2FTakeItEasy%2FbgWhithe%2Fprogress.html

          [6]

          can i use - webp: https://caniuse.com/#search=webp

          [7]

          https://juejin.cn/pin/6994350401550024741: https://juejin.cn/pin/6994350401550024741

          [8]

          圖像文件類型與格式指南: https://developer.mozilla.org/zh-CN/docs/Web/Media/Formats/Image_types

          [9]

          JPEG_2000: https://en.wikipedia.org/wiki/JPEG_2000

          [10]

          APNG - Wikipedia: https://en.wikipedia.org/wiki/APNG

          [11]

          Can I use - APNG: http://caniuse.com/#search=APNG

          [12]

          談談web上各種圖片應用的優(yōu)缺點: https://www.cnblogs.com/minij/p/6743705.html

          [13]

          web前端開發(fā)常用的幾種圖片格式及其使用規(guī)范: https://www.cnblogs.com/pqjzxq/p/5749304.html

          [14]

          聊一聊幾種常用web圖片格式:gif、jpg、png、webp: https://segmentfault.com/a/1190000013589397

          [15]

          APNG 那些事: https://aotu.io/notes/2016/11/07/apng/

          [16]

          GIF vs APNG vs WebP: http://littlesvr.ca/apng/gif_apng_webp.html

          [17]

          淺談base64圖片: https://www.jianshu.com/p/10ca32480c1e

          [18]

          圖片Base64編碼的利與弊分析: https://www.imooc.com/article/27804

          [19]

          ICO File Format: https://docs.fileformat.com/image/ico/

          1. JavaScript 重溫系列(22篇全)
          2. ECMAScript 重溫系列(10篇全)
          3. JavaScript設計模式 重溫系列(9篇全)
          4. 正則 / 框架 / 算法等 重溫系列(16篇全)
          5. Webpack4 入門(上)|| Webpack4 入門(下)
          6. MobX 入門(上) ||  MobX 入門(下)
          7. 120+篇原創(chuàng)系列匯總

          回復“加群”與大佬們一起交流學習~

          點擊“閱讀原文”查看 120+ 篇原創(chuàng)文章


          瀏覽 75
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  91探花国产在线播放 | 男人天堂婷婷 | 色屄影院| 91视频你懂的 | 成人做爰黄A片免费看 |