今天在整理图片工具类的时候,翻看了一下Android关于图片部分压缩格式的源码。里面枚举了3种图片压缩格式:JPEG,PNG, WEBP;
JPEG
这种是我们最常见的类型之一,当然,这种格式你可能听得不多,但是他有另外一种扩展名,你一定听过: jpg 。
那么好好的jpeg为啥非要叫jpg呢?听我给你慢慢道来。
JPEG是一种针对相片图像而广泛使用的一种有损压缩标准方法。是联合图像专家小组的简称Joint Photographic Experts Group。 此团队创立于1986年,1992年发布了JPEG的标准而在1994年获得了ISO 10918-1的认定。
以下是有道词典翻译出来的,注意音标:
有木有感觉很像J-P-G。
之所以常用,是因为它在图片压缩领域,有着其他格式都无法比拟的优势,尤其是对大图的压缩,所以你能看到的很多照片都是.jpg格式。
PNG
出生的最晚的,通常也是技术含量最高的。
1996年出生,无损压缩,最常见的使用格式是 256 索引色(PNG-8)和 24 bit 真彩色(PNG-24) (只是最常见的,其实支持的更多) ,支持 full alpha 通道(256 级可调半透明色)。
比如,你用QQ截图,或者其他小图,你会发现,PNG不仅无损,而且比jpg更小。
而且在防锯齿方面,PNG也是最厉害的,其他两个都比不了。
GIF
出生最早的老大哥,生于1987年。
我们见到的好多动图就是这种格式,和后起之秀PNG一样,是一种无损压缩,还支持单一透明色,但是有心的话,你会注意到,这种格式一般都不咋清晰,是因为它只支持256种颜色(8bit彩色),而JPEG支持24bit真彩色(大概17万左右吧),PNG更屌,他俩支持的,PNG都能支持,他俩不支持的,PNG也支持。
最主要的,也是区别和JPEG和PNG的是,目前为止,这几种图片格式中,只有它支持动画
。
对比
那么问题来了,你说了半天,那我们到底该用哪个?
JPEG
图片压缩,尤其是大图,就用它,其他都比不上它。
PNG
屏幕截图,图片处理,个人认为是目前为止,除了照片大图不如JPEG,动画不如GIF之外,所有图片中最好的格式就PNG了。
(本人程序猿,不管开发网页还是Android,IOS,统一PNG格式)
GIF
动图就用它吧,上面那俩都不支持,起码到目前为止不支持。