美文网首页
Bitmap格式内存

Bitmap格式内存

作者: couriravant | 来源:发表于2020-02-16 19:04 被阅读0次

一、基础知识:
ARGB:指的是一种色彩模式,里面A代表Alpha,R表示red,G表示green,B表示blue。

自然界中所有的可见色都是由红、绿、蓝组成的,所以红、绿、蓝又称为三原色,每个原色都存储着所表示颜色的信息值

A->alpha(透明度),R->red(红色),G->green(绿色),B->blue(蓝色)

二、四种模式的区别:
四种类型为bitmap在内存中存在的四种色彩的存储模式,他们本质区别体现在每种模式下的bitmap内部的每个像素点,在内存中的大小和组成成分的区别。

三、深入分析(每种模式下的一个像素的具体存储大小)
ARGB_8888:A->8bit->一个字节,R->8bit->一个字节,G->8bit->一个字节,B->8bit->一个字节,即8888,一个像素总共占四个字节,8+8+8+8=32bit = 4byte
ARGB_4444:A->4bit->半个字节,R->4bit->半个字节,G->4bit->半个字节,B->4bit->半个字节,即4444,一个像素总共占两个字节,4+4+4+4=16bit = 2byte
RGB_565:R->5bit->半个字节,G->6bit->半个字节,B->5bit->半个字节,即565,一个像素总共占两个字节,5+6+5=16bit = 2byte
ALPHA_8:A->8bit->一个字节,即8,一个像素总共占一个字节,8 = 8bit = 1byte
四、计算大小方式:
一张bitmap的大小 = 有多少个像素点 * 每个像素点内存中占用的大小 = 长 * 宽 * 3中讲的各种模式下对应的像素点占用的比特位

例子:计算一张长宽为1000/1000,ARGB_8888格式的一张bitmap的大小:
1000 * 1000 * 4byte = 4000kb

refer:https://blog.csdn.net/Awenyini/article/details/79743798

相关文章

网友评论

      本文标题:Bitmap格式内存

      本文链接:https://www.haomeiwen.com/subject/gxemfhtx.html