本文原創:huhongtaocss
BMP、JPEG、GIF、PSD、PNG、TIFF、TGA、EPS、SVG、webP、CDR、PCX、EXIF、FPX、PCD、DXF、UFO、AI、HDRI、RAW、WMF、FLIC、EMF、ICO前端
矢量圖:由數學向量來記錄的圖像是矢量圖web
特色:放大後圖片依舊清晰—放大後從新構圖算法
缺點:很難表現天然度高的寫實圖像chrome
格式:SVG、CDR、AI、WMF、EPS、ICO、TGA、DXF、…緩存
位圖:由一系列像素點組成的圖像是位圖,位圖也稱爲點陣圖bash
特色: (1)放大會看到像素點,呈現鋸齒狀——放大後單位面積的像素點減小 (2)dpi決定圖像的清晰度 (3)RGB彩色圖像——色彩豐富網絡
格式:PNG、JPEG、GIF、BMP、webP、PSD、TIFF、PCX、FPX、PCD、…併發
二者差異svg
類型 | 位圖 | 矢量圖 |
---|---|---|
構圖方式 | 像素點 | 向量 |
色彩 | 色彩豐富 | 色彩變化少 |
失真 | 放大、縮小易失真 | 不失真,良好的縮放性 |
大小 | 大(面積越大,色彩越豐富,越大) | 小 |
分類 | bpm、jpg、gif、psd、png、... | wmf、ai、EPS、SVG、cdr、emf、dxf、... |
位圖不一樣格式的區別 —— 有損壓縮、無損壓縮
不一樣格式的圖像在記錄這些數據時的方式不同,涉及到有損壓縮和無損壓縮的區別
概念:並不徹底真是的記錄圖像上每一個像素點的數據信息,去掉那些圖像上會被人眼忽略的細節,而後使用附近的顏色經過漸變或其餘形式進行填充。
特色:能大大下降圖像信息的數據量,又不會影響圖像的還原效果
格式:jpg
概念:真實的記錄圖像上每一個像素點的數據信息,爲了壓縮圖像文件的大小會採用一些特殊的算法
壓縮原理:先判斷圖像上哪些區域的顏色是相同的,哪些是不一樣的而後把這些相同的數據信息進行壓縮記錄,(例如一片藍色的天空只須要記錄起點和終點的位置就能夠了),而把不一樣的數據另外保存(例如天空上的白雲和漸變等數據)
格式: (1)PNG(對圖像上全部出現的顏色進行索引,咱們把這些顏色成爲索引色,PNG8(索引256色)、PNG24(真彩16.7million色)、PNG32(真彩16.7million色)) (2)GIF,索引256色,支持動畫
介紹 png、jpg、psd、svg、webp、iconfont
png —— 主要特性是半透明
jpg
「基線」格式的JPG加載過程
「連續」格式的JPG加載過程
jpg格式保存方式
psd
svg
經過記錄座標的形式存儲圖形信息,SVG使用基於XML的語義化標籤結構,因爲是DOM結構,你能夠經過ID獲取SVG元素,並操縱它們
webp
目標:減小文件大小,但達到和JPEG格式相同的圖片質量,但願可以減小圖片檔在網絡上的發送時間
iconfont
gif
一、前端使用何種圖片格式
一、通常層次豐富顏色較多的圖像採用JPG存儲,而顏色簡單對比強烈的則須要採用PNG
二、有些矢量工具繪製的圖像因爲採用較多的濾鏡特效也會造成豐富的色彩層次,這個時候就須要採用JPG進行存儲了
三、基本視覺元素,如容器的背景、按鈕、導航的背景等應該儘可能用PNG格式進行存儲,這樣才能更好的保證設計品質
照片用 JPG。
動畫用 GIF。
Logo、Icon 等小圖用 PNG-8。
複製代碼
二、加載的圖片太多、太大怎麼辦
一、將圖片和應用分離,防止高I/O負載而崩潰,同一時間對同一域名下的資源的併發請求數目限制
二、壓縮
三、懶加載
四、css雪碧圖css Sprites
五、將圖片壓縮成base64格式來節約請求
複製代碼
三、前端圖像處理工具
一、[tinypng.com](https://tinypng.com/)
二、[騰訊智圖](http://zhitu.isux.us/)
三、[pngcrush](https://pngcrush.com/)
四、...
複製代碼
1.更好的壓縮算法,並且經過智能地減小顏色數,達到有效的壓縮。 2.壓縮比高,失真小
1.除了 PNG 和 JPG ,還支持 WebP
2.能夠直接看到壓縮後的圖片大小
1.能夠批量壓縮圖片 2.可減小40%的大小
四、圖片懶加載的原理
五、base64
1.減小請求次數 2.轉化後不必定會減少體積 3.不會被緩存,適合較小或者簡單的圖片