影象程式設計:圖片大小關係
圖片大小與 格式,尺寸,顏色多少,還和顏色分佈有關。
畫面越豐富,色彩越多,佔空間就大,畫面越單調,色彩越小,佔空間就少。
常見的圖片格式是 jpg ,gif,png8,png24,png32
jpg
是全綵色,固定位深是24
位。而gif、png則可以選擇位深。
位深的不同決定了顏色的範圍,很明顯 png8的顏色範圍 2^8 < png32的2^(24+8)
(這裡alpha也算成顏色)。
記憶體的大小
假設圖片尺寸是100*100,那麼:
- jpg體積 = 1001003 = 30000 30000/1024=30k(約等於)
- png24 = 1001003 = 30000 30000/1024=30k(約等於)
儲存的大小
實際上,我們在本地儲存的大小跟記憶體中大小差距很大的。因為有各種壓縮演算法。
一般情況下,全綵色情況,jpg的大小 < png的大小。
圖片理論上的儲存大小就是圖片的畫素點數乘以每個畫素點的所佔儲存空間,,,不過實際圖片用不了這麼大儲存空間,,因為各種格式的圖片還涉及一個關鍵技術壓縮,不同的壓縮技術也就導致壓縮後圖片的儲存大小不同。舉個不太恰當的例子,用座標表示每個畫素位置,假如畫素點(1,2)的顏色值是(12,13,14),畫素點(1,3)的顏色值也是(12,13,14),儲存的時候就只需要儲存一組顏色值,另一個點的顏色值就“同上”,這樣就節省了儲存空間,壓縮就是類似於這樣的處理。肉眼觀察你所截的圖,也能很明顯感覺到,畫面越豐富,色彩越多,佔空間就大,畫面越單調,色彩越小,佔空間就少。
參考
JPG?GIF?PNG?前端如何選擇圖片格式?
https://www.jianshu.com/p/ab96bf20f90e
經典面試題1:圖片佔多少記憶體
https://www.jianshu.com/p/1af904e9a6e4
以下兩張JPG圖片大小差異是什麼造成的?
https://www.zhihu.com/question/26586374/answer/33714836
兩張圖片就顏色不一樣,dpi,尺寸都一樣為什麼體積相差這麼大
https://www.zhihu.com/question/23450044
圖片的大小和顏色的多少有關嗎?
https://www.zhihu.com/question/21308417
圖片的大小與哪些因素有關?
https://www.zhihu.com/question/27734563