儲存知識,關于保存圖片時圖片壓縮的相關知識(3)
網頁圖片為了達到更快的加載速度,就必須要進行圖片壓縮,那么怎么壓縮圖片是最好的呢?我們來一起研究一下。
最近在做webapp,發(fā)現(xiàn)產品圖的大小無論怎么壓縮都還是有20-30KB,這樣的大小在搜索列表頁可不是個小數(shù)目。經我們的后臺提醒,說京東上有一張產品圖 220*220px-96dpi-6.62KB~~為了一探究竟,我做了如下實驗!
在前端網頁中,關于產品圖和banner圖的壓縮,有一個總體的結論:
1.實物圖傾向用jpg/jpeg格式;
2.具備較大亮度差異及強烈對比的圖像傾向于png格式。
注:本文章最后詳細說面了上面的結論。
但是這篇文章也提出一個觀點:“jpg格式中,謹慎使用50%品質以下的壓縮率”
乍一看50%以下的壓縮率好像是雷區(qū)(我一直被這句話忽悠了)....
所以我一直用一個在線壓縮圖片的網址來壓縮圖片:https://tinypng.com
在要求不高的情況下,是非常好用的。根據圖片內容、大小的不同,壓縮率在60%-90%不等。
隨便找?guī)讖垐D,100-200KB的圖,壓縮到20-30KB已經上天了,真心好奇220*220-96dpi-6.6KB是怎么做到的!
-----------------------------------------------------分割線------------------------------------------------------
于是今天做了個實驗,將原圖為800*800px-96dpi-75KB的圖壓縮到220*220px-96dpi-6.6KB,
這里需要注意,必須是使用PS的這個功能(截圖版本:PS CS6 13.0):
而在PS CC16.0版本中這個選項沒有了!
----------------------------------------------------- 開整 ------------------------------------------------------
先附上原圖屬性的截圖,這3張圖都是從京東上直接down下來的。
1.把800*800尺寸的圖改成220*220,這個大家都會,此處略。
2.通過ps“存儲為web所用格式..”其實只要把存儲品質選到40左右(我為了測試,發(fā)現(xiàn)39這個值生成的文件大小最接近原圖)這時候再點擊上圖下面的“存儲”按鈕。就大功告成了
此例中,220*220-96dpi的圖能壓縮到6KB,并且在手機端幾乎看不出來100品質和40品質的區(qū)別,換句話說,僅僅犧牲了一點肉眼很難分辨的清晰度,換來了更小的圖片大小。
這篇文章純屬用來告誡自己不要想當然,網上一些所謂的“結論”,并不一定使用所有情況。
----------------------------------------------------- 補充知識 ------------------------------------------------------
《京東后臺圖片優(yōu)化技巧》作者:PointNet
文檔主要包括以下幾方面內容:
-
基本概念
- 位圖
-
實際應用
- 什么時候應該使用PNG
- 什么時候應該使用JPG
- 總結
- Photoshop中各種參數(shù)的含義及設置技巧
1、基本概念
- 位圖
位圖又叫像素圖或柵格圖,它是通過記錄圖像中每一個點的顏色、深度、透明度等信息來存儲和顯示圖像。一張位圖就好比一幅大的拼圖,只不過每個拼塊都是一個純色的像素點,當我們把這些不同顏色的像素點按照一定規(guī)律排列在一起的時候,就形成了我們所看到的圖像。所以當我們放大一幅像素圖時,能看到這些拼片一 樣的像素點(如下圖)。在web頁面中所使用的JPG、PNG、GIF格式的圖像都是位圖。
優(yōu)點:利于顯示色彩層次豐富的寫實圖像。
缺點:文件大小較大,放大和縮小圖像會失真。
- JPG和PNG
JPG和PNG的一些特性對比:
格式
壓縮模式
交錯支持
透明支持
動畫支持
JPG
有損壓縮
支持
不支持
不支持
PNG
無損壓縮
支持
支持
不支持
JPG的特性
1、支持攝影圖像或寫實圖像的高級壓縮,并且可利用壓縮比例控制圖像文件大小。
2、有損壓縮會使圖像數(shù)據質量下降,并且在編輯和重新保存JPG格式圖像時,這種下降損失會累積。
3、JPG不適用于所含顏色很少、具有大塊顏色相近的區(qū)域或亮度差異十分明顯的較簡單的圖片。
PNG的特性
1、能在保證最不失真的情況下盡可能壓縮圖像文件的大小。
2、PNG用來存儲灰度圖像時,灰度圖像的深度可多到16位,存儲彩色圖像時,彩色圖像的深度可多到48位,并且還可存儲多到16位的α通道數(shù)據。
3、對于需要高保真的較復雜的圖像,PNG雖然能無損壓縮,但圖片文件較大,不適合應用在Web頁面上。
PNG8與PNG24
提到PNG格式可分為PNG8和PNG24,兩者后面的數(shù)字則是代表這種PNG格式最多可以索引和存儲的顏色值。”8″代表2的8次方也就是256色,而24則代表2的24次方大概有1600多萬色。
PNG8還支持1位的布爾透明通道,所謂布爾透明指的是要么完全透明要么完全不透明。而PNG24則支持8位(256階)的alpha通道透明,也就是說可以存儲從完全透明到完全不透明一共256個層級的透明度(即所謂的半透明)。
格式
最高支持色彩通道
索引色編輯支持
透明支持
PNG8
256色
支持
支持布爾透明
PNG24
約1600萬色
不支持
支持8位(256階)alpha透明
- GIF
由于GIF現(xiàn)在使用率偏低,常適用于GIF動畫,由于PNG本身是開發(fā)者為了代替GIF而衍生出的圖片格式,所以透明圖片建議采用PNG8。
GIF文件的數(shù)據,是一種基于LZW算法的連續(xù)色調的無損壓縮格式。其壓縮率一般在50%左右,它不屬于任何應用程序。 GIF格式的另一個特點是其在一個GIF文件中可以存多幅彩色圖像,如果把存于一個文件中的多幅圖像數(shù)據逐幅讀出并顯示到屏幕上,就可構成一種最簡單的動畫。
2、實際應用
- 什么時候應該使用PNG
案例1:
下圖為京東商城header部分用JPG和PNG8格式分別進行保存,可以看到保存的結果有兩個值得注意的地方:
1、JPG保存的文件大小比是PNG保存的文件大
2、JPG文件出現(xiàn)了噪點
造成結果的原因分析:
1、 首先我們發(fā)現(xiàn)文字顏色和描邊等都是采用純色, 圖像所包含的色彩信息非常有限。當用PNG存儲這個圖像時,只需要保存很少的色彩信息就可以真實還原這個圖 像。而對于JPG格式來說大小主要決定于圖像的顏色層次,所以在這種顏色較少但對比強烈的情況下,反而不能很好的壓縮文件大小。
案例2:
下圖用PNG8和JPG進行了保存,發(fā)現(xiàn)當用PNG8保存時不僅保證了圖像的質量且圖像文件的大小僅有8.3K,而當用JPG 100%保存時文件大小則增加到44.2K,如果不經放大可能還看不出具體的差異,但實際和前面一樣也會出現(xiàn)不必要的噪點。如果我們要達到PNG8的壓縮 率采用JPG 45%進行保存,則圖像會出現(xiàn)較嚴重的失真。
結論 具備以下條件的圖像更適合用PNG8格式進行存儲:
1、圖像上顏色較少,并且主要以純色或者平滑的漸變色進行填充。
2、具備較大亮度差異以及強烈對比的簡單圖像(如“立刻購買”按鈕中的背景和文字)。
- 什么時候應該使用JPG
案例1:
下圖用JPG 60%(左上)、PNG8 256色 無仿色(右上)、PNG8 256色 擴散仿色(左下)、PNG32(右下)分別進行了存儲?梢钥闯霎斢肑PG存儲圖像時不僅能夠達到最大的壓縮率,也能盡量保證原圖的還原效果。而采用PNG8進行保存時圖像文件大小更大,失真也較嚴重。只有在PNG24的格式下才能保證品質,然而文件大小卻比JPG要大很多。
造成結果的原因分析:
產生這種結果的原因也與JPG和PNG各自的壓縮算法有關。
1、對于攝影或者寫實作品,由于受環(huán)境光線的影響,圖像上的色彩層次十分豐富。比如巴士車上的紅色區(qū)域由于反光、陰影以及透視效果會形成明暗、深淺各異的區(qū)域,如果用PNG去保存,則需要不同明暗度的紅色去存儲這個區(qū)域。對于整張圖片來說,PNG8的256色無法完全索引圖像上出現(xiàn)的所有顏色,于是在存儲時就會丟失許多顏色而產生失真。如果要保證圖像的效果,則需要色彩范圍更廣的PNG24進行存儲,相應的文件大小也會增加。
2、JPG的壓縮算法則更利于對真實世界中這些復雜的色彩變化進行壓縮處理,從而在盡量壓縮文件大小的情況下比較好的還原圖像的視覺效果。
案例2
下圖中用不同圖片格式對背景進行保存時可以發(fā)現(xiàn):當用JPG進行保存時(直接背景另存為)文件大小僅36.3K;用PNG8 256色無仿色去保存時大小增加到57.7K,不僅如此由于顏色的缺失在圖像上還出現(xiàn)了一些帶鋸齒的色塊;為了降低這些色塊對圖像質量的影響我們對PNG8增加了擴散仿色的效果,此時文件大小達到了156.3K;而當采用PNG24完全不失真的保存時文件大小是231.9K。
造成結果的原因分析:
我們可以發(fā)現(xiàn)由于在圖像上采用了很多的真實素材(比如白云、螞蟻、綠葉等),而這些真實素材和攝影圖像一樣也會存在非常豐富的色彩層次,所以也不適合用PNG格式進行保存。這個時候我們就應該采用JPG格式。
結論 具備以下條件的圖像更適合用JPG格式進行存儲:
對于寫實的攝影圖像或是顏色層次非常豐富的圖像采用JPG的圖片格式保存一般能達到最佳的壓縮效果。
總結
在存儲圖像時采用JPG還是PNG主要依據圖像上的色彩層次和顏色數(shù)量進行選擇。一般層次豐富顏色較多的圖像采用JPG存儲,而顏色簡單對比強烈的則需要采用PNG。但也會有一些特殊情況,例如有些圖像盡管色彩層次豐富,但由于圖片尺寸較小,上面包含的顏色數(shù)量有限時,也可以嘗試用PNG進 行存儲。而有些矢量工具繪制的圖像由于采用較多的濾鏡特效也會形成豐富的色彩層次,這個時候就需要采用JPG進行存儲了。
另外還有一個原則就是用于頁面結構的基本視覺元素,如容器的背景、按鈕、導航的背景等應該盡量用PNG格式進行存儲,這樣才能更好的保證設計品質。而其他一些內容元素,如廣告Banner、商品圖片等對質量要求不是特別苛刻的,則可以用JPG去進行存儲從而降低文件大小。
3、Photoshop中各種參數(shù)的含義及設置技巧
- PNG8的參數(shù)設置
減低顏色深度算法與顏色
指定用于生成顏色查找表的方法,以及想要在顏色查找表中使用的顏色數(shù)量?梢赃x擇以下減低顏色深度算法之一:
- 可感知:通過為人眼比較靈敏的顏色賦以優(yōu)先權來創(chuàng)建自定顏色表。
- 可選擇:創(chuàng)建一個顏色表,此表與”可感知”顏色表類似,但對大范圍的顏色區(qū)域和保留 Web 顏色有利。此顏色表通常會生成具有最大顏色完整性的圖像。“可選擇”是默認選項。
- 隨樣性:通過從圖像的主要色譜中提取色樣來創(chuàng)建自定顏色表。例如,只包含綠色和藍色的圖像產生主要由綠色和藍色構成的顏色表。大多數(shù)圖像的顏色集中在色譜的特定區(qū)域。
- 受限 (Web):使用 Windows 和 Mac OS 8 位(256 色)調板通用的標準 216 色顏色表。該選項確保當使用 8 位顏色顯示圖像時,不會對顏色應用瀏覽器仿色。(該調板也稱為 Web 安全調板。) 使用 Web 調板可能會創(chuàng)建較大的文件,因此,只有當避免瀏覽器仿色是優(yōu)先考慮的因素時,才建議使用該選項。
- 自定:使用用戶創(chuàng)建或修改的調色板。如果打開現(xiàn)有的 GIF 或 PNG-8 文件,它將具有自定調色板。使用”存儲為 Web 和設備所用格式”對話框中的”顏色表”調板可自定顏色查找表。
- 黑白、灰度、Mac OS、Windows使用一組調色板。
PS:一般情況下默認選擇“可選擇”項即可。
仿色方法和仿色
確定應用程序仿色的方法和數(shù)量。”仿色”是指模擬計算機的顏色顯示系統(tǒng)中未提供的顏色的方法。
較高的仿色百分比使圖像中出現(xiàn)更多的顏色和更多的細節(jié),但同時也會增大文件大小。為了獲得最佳壓縮比,請使用可提供所需顏色細節(jié)的最低百分比的仿色。
若圖像所包含的顏色主要是純色,則在不應用仿色時通常也能正常顯示。包含連續(xù)色調(尤其是顏色漸變)的圖像,可能需要仿色以防止出現(xiàn)顏色條帶現(xiàn)象。
可以選擇以下幾種仿色方法之一:
- 擴散:應用與”圖案”仿色相比通常不太明顯的隨機圖案。仿色效果在相鄰像素間擴散。
- 圖案:使用類似半調的方形圖案模擬顏色表中沒有的任何顏色。
- 雜色:應用與”擴散”仿色方法相似的隨機圖案,但不在相鄰像素間擴散圖案。使用”雜色”仿色方法時不會出現(xiàn)接縫。
ps:一般只在圖片顏色過多產生失真的情況下才需要選擇仿色。建議選擇擴散仿色,可以適當調節(jié)仿色的百分比以達到最佳的效果。仿色度越高文件大小也越大。
透明度和雜邊
確定如何優(yōu)化圖像中的透明像素。
- 要使完全透明的像素透明并將部分透明的像素與一種顏色相混合,請選擇”透明度”,然后選擇一種雜邊顏色。
- 要使用一種顏色填充完全透明的像素并將部分透明的像素與同一種顏色相混合,請選擇一種雜邊顏色,然后取消選擇”透明度”。
- 要選擇雜邊顏色,請單擊”雜邊”色板,然后在拾色器中選擇一種顏色;蛘,也可以從”雜邊”菜單中選擇一個選項:”吸管”(使用吸管樣本框中的顏色)、”前景色”、”背景色”、”白色”、”黑色”或”其它”(使用拾色器)
交錯
PNG、GIF這兩種圖像格式都提供了一種功能,讓圖像能夠更快地顯示。圖像可以以一種特殊方式存儲,顯示時先大概顯示圖像的草圖,當文件全部下載后再填充細節(jié)。這起到一種很有意義的心理效果,因為這樣使人們有東西可看,而不必坐著干等大型圖像慢慢顯示在屏幕上。
ps:對于尺寸和文件大小相對較大的圖片建議勾選此項。
- JPG的參數(shù)設置
品質
從”品質級別”菜單中選取一個選項,或者在”品質”文本框中指定一個值。”品質”設置越高,壓縮算法保留的細節(jié)越多。但是,使用高”品質”設置比使用低”品質”設置生成的文件大。查看幾種品質設置下的優(yōu)化圖像,確定品質和文件大小之間的最佳平衡點。
品質設置技巧
-
不要存100%品質的JPG格式圖片。因為100%并不一定是最高的品質,只是一個數(shù)值上的優(yōu)化底線,最終你會得到一個不合理的大文件。事實上把質量設置在95以上就已經足以防止丟失信息了。
在質量上有個分水嶺,這就是我們通常建議JPG質量最好是在60-80的原因。 -
謹慎使用50%品質以下的壓縮率。當在Photoshop中把質量設置低于51的時候,它就會執(zhí)行另一個叫做 “降色采樣(原文:color down-sampling)”的優(yōu)化算法,它會在8個像素周圍平均采樣,這樣會在邊緣產生雜色。
使用50%以下品質存儲時會采用額外的壓縮算法而導致圖片失真更嚴重,尤其是對于有高對比度的圖片。
圖例(左為質量50右為質量51)
優(yōu)化
選擇”優(yōu)化”創(chuàng)建文件大小稍小的增強型 JPEG。建議使用”優(yōu)化 JPEG”格式以獲得最大文件壓縮量;但是,一些較舊的瀏覽器不支持此特性。
ps:建議勾選此項,目前基本已經不存在不支持改功能的瀏覽器。
連續(xù)
選擇”連續(xù)”創(chuàng)建在 Web 瀏覽器中連續(xù)顯示的圖像。圖像將顯示為一系列的疊加,使查看者在整個圖像下載完畢之前,能夠看到圖像的低分辨率版本。連續(xù) JPEG 需要更多的內存用于查看,一些瀏覽器不支持該選項。
ps:勾選此項在某些情況下可壓縮文件大小(圖片大小大于10k時),某些情況下會增大文件大小,建議在保存是根據實際情況決定。不過IE6及更早版本的IE瀏覽器不支持JPG連續(xù)顯示,而是在圖片完全加載后一次成像,用戶體驗上可能還不如不使用連續(xù)的逐步成像要 好,所以建議慎選此項。
模糊
指定應用于圖像的模糊量。”模糊”選項應用與”高斯模糊”濾鏡相同的效果,并允許進一步壓縮文件以獲得更小的文件大小。建議使用 0.1 到 0.5 之間的設置。
ICC 配置文件
選擇”ICC 配置文件”將圖片的 ICC 配置文件與文件保留在一起。ICC 配置文件由某些瀏覽器用于色彩校正。(請參閱Photoshop中設置色彩管理。)
雜邊
指定原稿圖像中透明像素的填充色:點按”雜邊”色板,然后在拾色器中選擇一種顏色。從”雜邊”菜單中選取選項。原稿圖像中完全透明的像素由選中的顏色填充,原稿圖像中部分透明的像素與選中的顏色相混合。
學習 · 提示
相關教程