读书人

非空byte[] 转换成 bit地图 ,bit地图

发布时间: 2012-09-09 09:27:54 作者: rapoo

非空byte[] 转换成 bitmap ,bitmap 为空
我用
private Bitmap BytesToBimap(byte[] b) {
if (b.length != 0) {

return BitmapFactory.decodeByteArray(b, 0, b.length);
} else {
return null;
}
}
方法转换,
bm = BytesToBimap(array);
System.out.println( "bm : "+bm);
if( bm != null){
imageview.setImageBitmap(bm);
}else{
System.out.println( "没有正常形成bitmap! ");
}
array不为空,事实证明执行的是 return BitmapFactory.decodeByteArray(b, 0, b.length); 这句。
但是转换出来的bm却是空,这是什么情况。

[解决办法]
说明你的array中的值不符合图片格式。
[解决办法]
byte里面的数据非法吧?
试试读取一个真实的.png或者.jpg文件,然后生成一个图片。
[解决办法]
无码无真相,只能在这瞎猜
[解决办法]
读出来的是BUF,你想返回给java层用 是不是?

JNI返回的是jbyteArray就可以了

读出来的buf:char转换一下jbyteArray,注意不要丢了数据哦 就是我刚才说的0啊啥的
[解决办法]
我怀疑你自己的JNI那边的问题,你确定一下吧
我这里就是刚才说的那样处理的
[解决办法]
检查位图格式吧,包括位深、文件头等。
[解决办法]
你先确认下 你的JNI中的:test 是否是真的图片信息才行
[解决办法]
其实问题很好解决的嘛,只要从传入图片的大小,我保证着图片大小的前面的数据是对的,但是就是后面会多了一些东西,影响了图片的大小。相信我吧!!试试看

读书人网 >Android

热点推荐