首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > Android >

将24位RGB数据流上屏展示(android)

2012-06-24 
将24位RGB数据流上屏显示(android)GOOGLE对于图像的读取处理,已经封装了Bitmap类和BitmapFactory类,可以说

将24位RGB数据流上屏显示(android)

GOOGLE对于图像的读取处理,已经封装了Bitmap类和BitmapFactory类,可以说囊括了许多种读取图片数据的方式,
但是如果我们通过图片解码得到纯RGB数据(byte[])和位图宽和高,又当如何将数据上屏显示呢?


 查看SDK文档,其中 BitmapFactory.decodeByteArray(byte[] data, int offset, int length),不要鸡动,该byte[]针对的是完整的图片数据,包括文件头那些东东,所以不符要求
 再看 Bitmap.createBitmap(int[] colors, int offset, int stride, int width, int height, Bitmap.Config config) ,这个很接近了,我们要做的就是将byte[]data转化为int[]color


 先看下效果图:

将24位RGB数据流上屏展示(android)

第一张图是直接读取资源文件里的图片然后显示

第二张图是提取该图片中的RGB数组以及位图宽高,以此作为数据源重新创建一张位图然后显示出来
 下面贴上代码:

 


基本上就是这样了,一个像素占4个字节,即ARGB,对于像素的拆解与组合无非就是一些位运算

比如要设置某个像素半透明的话,只要int & 0x00ffffff | 0x80000000 即可

附上工程链接:

http://download.csdn.net/detail/geniuseoe2012/4388433

有兴趣的童鞋下载下来看看吧

1楼chenyujing1234昨天 22:17
顶一下

热点排行