简单粗暴地说,小图标,用png储存最好。
- png可以储存透明,完爆gif的地方在于失真小,没锯齿;劣势是不支持动画;png采用无损压缩,在多数情况下都可以保留图片里所有像素。
- PNG无损压缩算法,简单地说,就是把图片里出现的每一个颜色都记录下来。通过记录这些颜色相对应的值记录一张图片。
- png分为两种,一种是Index,一种是RGB。Index记录同一种颜色的值和出现的位置(简单地说,比如一个2px*2px的超级小图,从左往右从上往下依次的颜色是红,白,白,红,那么记录的方法就是“红-1,4;白-2,3”);而RGB图则把所有像素的色值依次记录下来(即“红,白,白红”)。对于相同的图片,Index格式的尺寸总是小于RGB。
但除非图片尺寸,颜色层次丰富,这时候可能会失真,因为无论PNG8还是PNG24,储存的索引色的数量都是有限的(PNG8最多储存256个索引色,PNG24可以储存1600多万个,但相应的尺寸也会更大。)这时候,反而用jpg会好一些。你问题中说的是小图标,那么就png是恰当的。
- jpg适用于摄影图片,以及色彩丰富的图片。它采用压缩算法,会对图片上每8px*8px的像素进行处理,通过强制渐变的方法来减小文件尺寸,因此无论选择的储存质量多高,还是会多多少少失真一些,但对于摄影之类的图片来说,jpg格式就会比png小很多了。