博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Bitmap Byte[] 互转
阅读量:6575 次
发布时间:2019-06-24

本文共 902 字,大约阅读时间需要 3 分钟。

严正声明:

作者:
出处: http://www.cnblogs.com/psklf/p/5889978.html
欢迎转载,但未经作者同意,必须保留此段声明;必须在文章中给出原文连接;否则必究法律责任!

Bitmap->byte[]

int bytes = bmp.getByteCount(); ByteBuffer buf = ByteBuffer.allocate(bytes); bmp.copyPixelsToBuffer(buf); byte[] byteArray = buf.array();

byte[] ->BitMap

Bitmap bitmap = BitmapFactory.decodeByteArray(bitmapdata, 0, bitmapdata.length);

 有人说这个可以实现,来根据ByteArray直接得到bitmap,但是我使用中出现问题。想想其实很简单,就这么一行语句,一个bitmap对象必须的参数都没有设置,怎么就可能得到正常的bitmap对象?这个方法生效的前提是

,提供的bitmapdata是包含了图像参数的,而非简单的RGBA数据。而我现在得到的仅仅是RGBA数据,所以需要先得到一个bitmap实例,再往里填数据。需要将得到的array再变回buffer,使用buffer的 wrap 方法,包装数

组得到buffer.

// use Bitmap.Config.ARGB_8888 instead of type is OK            Bitmap stitchBmp = Bitmap.createBitmap(width, height, type);            stitchBmp.copyPixelsFromBuffer(ByteBuffer.wrap(byteArray));            imageView.setImageBitmap(stitchBmp);

参考资料

 

转载于:https://www.cnblogs.com/fengfenghuifei/p/6516270.html

你可能感兴趣的文章
cenOS+nginx+php+mysql (非一键包安装)
查看>>
优秀程序员不一定是优秀的软件设计师
查看>>
JS系列
查看>>
在文件夹右键菜单中添加“进入DOS”命令的方法
查看>>
我的友情链接
查看>>
我来自CSDN
查看>>
windowns
查看>>
java分享第十七天-02(封装操作excel类)
查看>>
在mysql表中插入大量测试数据
查看>>
怎么给电脑设置IP地址和DNS地址,各系统设置IP/DNS几种方法
查看>>
java 面试题解惑二 到底创建了几个String对象?
查看>>
面试总结之 oop desing 之 The Strategy Pattern
查看>>
必 备 习 题 集 (一)
查看>>
第 三 十 四 天:二 阶 段 复 习(五)
查看>>
windows下批量部署简易脚本
查看>>
python爬虫入门—统计豆瓣电影评论词频
查看>>
mysql由于server-id相同而造成同步失败
查看>>
【LoadRunner技术讲座4】利用sitescope监测监控mysql
查看>>
IEnumerable中运用yield
查看>>
python 时间转换(day,hous,minute,second)
查看>>