如何實現把圖片的大小降低,而圖片的質量不改變?

在中國做互聯網,網站體積的大小可能直接影響到用戶體驗。但必要時候我們不得不保留較高質量的圖片,有沒有是可以把圖片的體積儘可能的減小,而圖片的質量不變的方法?


從狹義的角度看:「如何實現把圖片的大小降低,而圖片的質量不改變?」的答案就是:不可能。大家的答案也都這麼說了。

我想多說兩句,也是想總結一下圖片壓縮方面的知識。

我覺得與其強求不改變質量,不如追求「用最合適的壓縮方式,使圖片的質量損失儘可能低

為此要了解各種圖形格式的壓縮原理。最常用的自然是:JPEG, GIF, PNG。

各自的維基鏈接奉上:

JPEG: http://zh.wikipedia.org/wiki/JPEG

GIF: http://zh.wikipedia.org/wiki/GIF

PNG: http://zh.wikipedia.org/wiki/PNG

個人理解之後,總結一下(非專業,可能有謬誤):

JPEG最關鍵的地方在於縮減取樣(Downsampling),即對水平或者垂直的相鄰像素取其中之一進行採樣,然後重新排列壓縮(更多的是水平與垂直均進行採樣、壓縮)。

因此,它更適用於色彩、圖形複雜的圖像,例如照片。而對於顏色單一、圖形簡單的圖像,例如 icon,它的壓縮方式容易造成邊緣模糊,就不是很合適了。

而GIF與PNG,我理解的它們壓縮的思路是比較相近的(撇開GIF的動圖功能,只談圖像壓縮)。它們都是建立色彩索引,來起到壓縮的效果。舉個形象的例子,色彩索引像是一個調色盤,上面存有幾個要用到的顏色(8色、24色,當然最多可以有256色)。餘下只需要有一個待填色的網格,每個格子標上要填調色盤上的第幾個顏色,就好。

因此,它們更適用於色彩單一、圖形簡單的圖像,例如 icon 。而面對色彩豐富的彩色照片,由於顏色太多,導致它們的色彩索引通常只能是極限的256色。所以表現的要麼過於臃腫、要麼將豐富的顏色壓縮的慘不忍睹。


TinyPNG – Compress PNG images while preserving transparency 這個網站可以啊


jpg和png的壓縮率在70%左右,肉眼能察覺的質量損耗已經非常小了


上傳到網上的圖片使用ctrl+alt+shit+s,Photoshop稱之為【存儲為web所用格式】,而非ctrl+s時修改品質。

一般設置60%以上都是很好的,肉眼不易察覺。

舉個栗子(自己拍的產品渣圖)

比如這張照片,原大小是1.2M,經過ctrl+alt+shit+s轉存60%和100%品質後,已經小了很多

實際品質通過PS 觀察,肉眼基本上是無法察覺其差別的

PS:事實上,有些圖片在「60%」和「100%」品質下大小差別(幾倍)會更大,但是肉眼還是看不出極其明顯的差別。關於品質大小設定也是是情況而定,網路圖的話盡量是在不影響清晰、色彩前提下越小越好


https://compressor.io/

這個網站也是可以壓縮圖片的,他們表示:

http://Compressor.io is a powerful online tool for reducing drastically the size of your images and photos whilst maintaining a high quality with almost no difference before and after compression.


前者的回答大多是理論知識,那我來點實際的辦法,我採用降低圖片大小的方法是通過ps將圖片先存為gif後,在改為png格式,解析度和尺寸以及透明均不變,卻可以大幅降低存儲,詳情步驟請看降低PNG圖片存儲大小方法、圖片壓縮方法注意,這樣的圖片再通過ps是打不開的(其實也無所謂),主要這不影響網站的使用。親測上圖


不考慮伺服器空間這個前提。想要把精美大型圖片展示給用戶,可以把圖片進行切片處理,分別載入,心理上也會給用戶帶來「比較快」的感覺


http://www.smushit.com/ysmush.it/ 很多這樣的類似網站或者工具,提供好的演算法來實現基本肉眼不太分辨的圖像壓縮

圖片質量是相對的,要壓縮肯定有損失


所謂的不變是建立在人的感官上的,只要不影響視覺效果就可以了


【圖像無損壓縮】

目前沒有很好的辦法。常見的都是有損壓縮,但都盡量避免了肉眼能見的變化。


1、圖片壓縮,沒有慧眼看不出區別

2、逐行或分步顯示


推薦閱讀:

TAG:AdobePhotoshop | 用戶體驗 | 設計 | 圖片 | 質量 |