(Bitmap)ARGB_8888/RGB_565/ALPHA_8/ARGB_4444详解
来源:互联网 发布:淘宝i7 7700主机好便宜 编辑:程序博客网 时间:2024/04/29 19:48
有时会看到别人使用bitmap是用到ARGB_8888/RGB_565这类参数,那么这些参数是什么?对bitmap有什么影响?
他们是Bitmap.Config的四种枚举类型。
(ARGB分别是alpha透明度和red、green、blue三色)
ARGB_8888:分别用8位来记录4个值,所以每个像素会占用32位。
ARGB_4444:分别用4位来记录4个值,所以每个像素会占用16位。
RGB_565:分别用5位、6位和5位来记录RGB三色值,所以每个像素会占用16位。
ALPHA_8:根据注释应该是不保存颜色值,只保存透明度(8位),每个像素会占用8位。
那么对bitmap有何影响?
这里都以ARGB_8888为基准来进行对比。
ARGB_4444:内存占用减少一半,但是每个值图片失真度很严重,这个参数本身已经不推荐使用了。
RGB_565:内存占用减少一半,舍弃了透明度,同时三色值也有部分损失,但是图片失真度很小。
ALPHA_8:内存占用没有减少!按注释的解释个人理解应该是减少3/4的内存占用,而且图片与ARGB_8888下的没有区别。
(ALPHA_8查到的资料不多,希望有高手可以帮我解惑)
总结:
由于ARGB_4444不推荐使用和ALPHA_8效果不明。我们大多数是用的还是ARGB_8888和RGB_565。
RGB_565能够在保证图片质量的情况下大大减少内存的开销,是解决oom的一种方法。但是一定要注意RGB_565是没有透明度的,如果图片本身需要保留透明度,那么就不能使用RGB_565。
测试代码:
0 0
- (Bitmap)ARGB_8888/RGB_565/ALPHA_8/ARGB_4444详解
- ALPHA_8, ARGB_4444, ARGB_8888, RGB_565
- ALPHA_8 RGB_565 ARGB_4444 ARGB_8888
- RGB_565,ALPHA_8,ARGB_4444,ARGB_8888
- ALPHA_8 , ARGB_4444 , ARGB_8888 , RGB_565区别
- android.graphics.Bitmap.Config<ALPHA_8, ARGB_4444,ARGB_8888,RGB_565>
- android.graphics.Bitmap.Config<ALPHA_8, ARGB_4444,ARGB_8888,RGB_565>
- android.graphics.Bitmap.Config<ALPHA_8, ARGB_4444,ARGB_8888,RGB_565>
- android.graphics.Bitmap.Config<ALPHA_8, ARGB_4444,ARGB_8888,RGB_565>
- Bitmap.Config下的 ALPHA_8, ARGB_4444, ARGB_8888, RGB_565
- android.graphics.Bitmap.Config<ALPHA_8, ARGB_4444,ARGB_8888,RGB_565
- android.graphics.Bitmap.Config<ALPHA_8, ARGB_4444,ARGB_8888,RGB_565>
- android.graphics.Bitmap.Config<ALPHA_8, ARGB_4444,ARGB_8888,RGB_565>
- android.graphics.Bitmap.Config<ALPHA_8, ARGB_4444,ARGB_8888,RGB_565>
- android.graphics.Bitmap.Config<ALPHA_8, ARGB_4444,ARGB_8888,RGB_565>
- android.graphics.Bitmap.Config<ALPHA_8, ARGB_4444,ARGB_8888,RGB_565>
- 决定bitmap大小的元素之色彩篇(ALPHA_8,ARGB_4444,ARGB_8888,RGB_565)
- 关于ARGB_8888、ALPHA_8、ARGB_4444、RGB_565的理解
- 《自然》年度十大人物之五
- 好用的开源项目,让开发更简单
- 聊一下我在LINUX环境下用过的C/C++编辑器
- LinkedBlockingQueue
- Sublime常用插件分类
- (Bitmap)ARGB_8888/RGB_565/ALPHA_8/ARGB_4444详解
- 一键查询您的 12306 密码 手机号 身份证号是否已泄露
- unity3d 使用委托+事件 完成低耦合发送消息
- Java反射机制
- C# 配置文件SQL数据库连接
- 64位win7环境eclipse使用svn后出现Failed to load JavaHL Library的解决方法
- 24位真色位图转化为8位灰度位图
- 四级密码强度检测
- 二进制转换为十进制