Android系统支持常见的图片资源格式,如jpg、png、gif等。这几种主要图片格式的特色以下: linux
1. Gif格式图片的特色 android
透明性:Gif是一种布尔透明类型,既它能够是全透明,也能够是全不透明,可是它并无半透明(alpha 透明)。 web
动画:Gif这种格式支持动画。 算法
无损耗性:Gif是一种无损耗的图像格式,这也意味着你能够对gif图片作任何操做也不会使 得图像质量产生损耗。 浏览器
水平扫描:Gif是使用了一种叫做LZW的算法进行压缩的,当压缩gif的过程当中,像素是由上到下水平压缩的,这也意味着同等条件下,横向的gif图片比竖向 的gif图片更加小。例如500*10的图片比10*500的图片更加小。 动画
间隔渐进显示:Gif支持可选择性的间隔渐进显示 spa
由以上特色看出只有256种颜色的gif图片不适合照片,但它适合对颜色要求不高的图形(好比说图标,图表等),它并非最优的选择,咱们会在后面中看到png是最优的选择。 图片
2. Jpeg格式图片特色 资源
透明性、动画:它并不支持透明,也不支持动画。 图片处理
损耗性:除了一些好比说旋转(仅仅是90、180、270度旋转),裁切,从标准类型到先进类型,编辑图片的原数据以外,全部其它操做对jpeg图像的处理 都会使得它的质量损失。因此咱们在编辑过程通常用png做为过渡格式。
隔行渐进显示:它支持隔行渐进显示(可是ie浏览器并不支持这个属性,可是ie会在整个图像信息彻底到达的时候显示)。
由上能够看出Jpeg是最适web上面的摄影图片和数字照相机中(android壁纸默认就是jpg的)。
3. Png格式图片分析
Png这种图片格式包括了许多子类,可是在实践中大体能够分为256色的png(PNG8)和全色的png(PNG2四、 PNG32),你完成能够用256色的png代替gif,用全色的png代替jpeg
透明性:Png是彻底支持alpha透明的(透明,半透明,不透明)。
动画:它不支持动画
无损耗性:png是一种无损耗的图像格式,这也意味着你能够对png图片作任何操做也不会使 得图像质量产生损耗。这也使得png能够做为jpeg编辑的过渡格式水平扫描像GIF同样,png也是水平扫描的,这样意味着水平重复颜色比垂直重复颜色的图片更小。
间隔渐进显示:它支持间隔渐进显示,可是会形成图片大小变得更大
其它图片格式与PNG比较:众所周知GIF适合图形,JPEG适合照片,PNG系列两种都适合。
A. 相比GIF:PNG 8除了不支持动画外,PNG8有GIF全部的特色,可是比GIF更加具备优点的是它支持alpha透明和更优的压缩。因此,大多数状况下,你都应该用 PNG8不是GIF(除了很是小的图片GIF会有更好的压缩外)。
B. 相比JPEG:JPEG比全色PNG具备更加好的压缩,所以也使得JPEG适合照片,可是编辑JPEG过程当中容易形成质量的损失,因此全色PNG 适合做为编辑JPEG的过渡格式。
Photoshop制图几个概念:
1. 位深&通道
在photoshop里,点击图像,模式而后能够选择制图的通道位深。8位、16位、32位有啥区别?和咱们常说的2四、32位图像是一个概念么?
A. 先说第一个,这里位表示的是红绿蓝三基色分别有2的N(八、1六、32)次方个强度。位数越宽,那么它能表示的颜色也就越多,越真实。固然图片的容量就会越大,对图片处理起来须要的时间就越长。还有一个就是全部photoshop内置滤镜都支持8位通道,1六、32位通道有的滤镜是不支持的,尤为是第三方外挂的。
B. 第二问的答案固然是否认的。咱们能够用三基色来组成任意一种特定的颜色。Photoshop里面的位深指的是基色,咱们常说的32位图像指的是特定的一种颜色。咱们常见的8位通道RGB图像,3个通道共24位,即一张24位RGB图像里可表现大约1670万种颜色。ARGB就是在原来真彩色的基础上加一个alpha通道,使图像具有可透明性,这样就组成了咱们常说的32位图。至于1六、32位深通常只在专业领域可能会用到,原理同样,须要了解的,本身算下就ok;
2. 加噪点
这是一种很凑合的作法,原理就是24位带渐变的真彩图以16位的加强色显示就会出现一圈圈光晕同样的轮廓失真。加入微小噪点,下降图片的清晰度,反而会让光晕失真均衡,从而感官上有必定改善。操做就是点滤镜,杂色,添加杂色,数值最好不超过1.5.
3. 储存为web和设备使用格式
Photoshop里面专门对web和移动设备进行了相关的适配兼容,缘由是像nokia大多的功能机都只支持加强色,因此在这个模式下能够输出相适应的图片资源。Android做为最优秀的移动系统之一,固然彻底支持最高的规格,但不排除作一款定位低端,为了节约成本,把设备作成加强色。
Anroid系统对位宽的支持:
正如上面所说,Android系统对主流图片支援格式都提供良好的支持。源码中分别作了如下定义:
? ALPHA_8:数值为8,图形参数由一个字节来表示, 是8位的位图
? ARGB_4444:4+4+4+4=16,图形的参数由两个字节来表示,是16位的位图.
? ARGB_8888:8+8+8+8=32,图形的参数由四个字节来表示, 是32位的位图.
? RGB_565:5+6+5=16,图形的参数由两个字节来表示, 是16位的位图.
ALPHA_8,ARGB_4444,ARGB_8888都是透明的位图,也就是字母A表明Alpha.
ARGB_4444:意味着有四个参数,即A,R,G,B,每个参数由4bit表示.
ARGB_8888:意味着有四个参数,即A,R,G,B,每个参数由8bit来表示.
RGB_565:意味着有三个参数,R,G,B,三个参数分别占5bit,6bit,5bit.
Android系统2.2之前的图片默认格式是RGB_565模式,这时候显示真彩图片资源就会产生失真现象,尤为是带了渐变效果;2.3内核升级后,对图片解析默认的模式变成ARGB_8888,真彩图片资源的支持有很大提高。