您的位置:首页 > 移动开发 > Android开发

Android中的抖动解码(inDither)

2015-08-01 13:41 357 查看
在Android中的BitmapFactory.Options中有一个属性值是inDither,这个值表示是否采用抖动解码,那什么叫抖动解码呢,今天我们就来详细解说一下。

Bitmap的解码是根据它所记录的节点,依照一定算法,来补充两个节点之间的数据,可以理解为补充其中像素点的颜色,那么在解码的时候肯定会和当前所采用的颜色模式有关,很直观的说,采用32位的肯定比16位的颜色要多,自然展现的图像会看起来更好。

如果一张颜色很丰富的图,用一个位数比较低的颜色模式来解码的话,那么一个直观的感觉就是颜色不够用,那么这张图解出来之后,在一些颜色渐变的区域上就会有一些很明显的断裂色带,这个很好解释,因为一些丰富的颜色在位数较低的颜色模式下并没有,那么只能用相近的填充,可能一大片都没有,那么一大片都用这一个颜色填充,就形成了断裂色带。

如果采用抖动解码,那么就会在这些色带上采用随机噪声色来填充,目的是让这张图显示效果更好,色带不那么明显。

看下面的例子:



很明显,左边的更平滑一点,右边的会有一些色带,如果不想有这些色带,那么就需要采用抖动解码。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: