Android中的抖动解码(inDither)
2015-08-01 13:41
357 查看
在Android中的BitmapFactory.Options中有一个属性值是inDither,这个值表示是否采用抖动解码,那什么叫抖动解码呢,今天我们就来详细解说一下。
Bitmap的解码是根据它所记录的节点,依照一定算法,来补充两个节点之间的数据,可以理解为补充其中像素点的颜色,那么在解码的时候肯定会和当前所采用的颜色模式有关,很直观的说,采用32位的肯定比16位的颜色要多,自然展现的图像会看起来更好。
如果一张颜色很丰富的图,用一个位数比较低的颜色模式来解码的话,那么一个直观的感觉就是颜色不够用,那么这张图解出来之后,在一些颜色渐变的区域上就会有一些很明显的断裂色带,这个很好解释,因为一些丰富的颜色在位数较低的颜色模式下并没有,那么只能用相近的填充,可能一大片都没有,那么一大片都用这一个颜色填充,就形成了断裂色带。
如果采用抖动解码,那么就会在这些色带上采用随机噪声色来填充,目的是让这张图显示效果更好,色带不那么明显。
看下面的例子:
很明显,左边的更平滑一点,右边的会有一些色带,如果不想有这些色带,那么就需要采用抖动解码。
Bitmap的解码是根据它所记录的节点,依照一定算法,来补充两个节点之间的数据,可以理解为补充其中像素点的颜色,那么在解码的时候肯定会和当前所采用的颜色模式有关,很直观的说,采用32位的肯定比16位的颜色要多,自然展现的图像会看起来更好。
如果一张颜色很丰富的图,用一个位数比较低的颜色模式来解码的话,那么一个直观的感觉就是颜色不够用,那么这张图解出来之后,在一些颜色渐变的区域上就会有一些很明显的断裂色带,这个很好解释,因为一些丰富的颜色在位数较低的颜色模式下并没有,那么只能用相近的填充,可能一大片都没有,那么一大片都用这一个颜色填充,就形成了断裂色带。
如果采用抖动解码,那么就会在这些色带上采用随机噪声色来填充,目的是让这张图显示效果更好,色带不那么明显。
看下面的例子:
很明显,左边的更平滑一点,右边的会有一些色带,如果不想有这些色带,那么就需要采用抖动解码。
相关文章推荐
- Android Api Demos登顶之路(十三)Presentation With Media Router
- Android上拉查看详情实现
- android shape的使用
- Android开发中相见恨晚的方法、类或接口
- android 底部tabview模板
- Android带索引联系人列表
- 6款值得推荐的Android开发框架
- Android-1.按钮单击的4种监听方式(电话拨号器)
- Android Activity之间数据传递 Parcelable和Serializable接口详解
- Android开发笔记---service的绑定及如何获得service实例
- [Android]egit取消文件版本控制
- android studio MissingTranslation 3种解决方式
- ThreadPoolExecutor使用介绍
- 【安卓开发】安卓实用demo合集,有了这些一个项目轻松搞定
- android checkbox 未选中状态 已选中状态 替换成自己的图片
- Android存储之SQLiteDatbase
- Android5.0 Camera2 api2 实例
- Android保存之SharedPreferences
- ubuntu14.04 安装HAXM(KVM)提升android虚拟机Android x8运行速度
- Android studio 模拟器没有键盘的解决方法