我用
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却是空,这是什么情况。
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却是空,这是什么情况。
解决方案 »
- Android socket:客服端接收文件!
- 向高手求教,如何在电脑上安装安卓模拟(10QB小恩惠、感谢)
- sharepreferce里面可以放重复的嘛?
- 菜鸟求助:android中有没有类似于JTextArea的控件啊??
- 怎样把java应用 变为一个apk
- url对象与httpurlconnection对象分别是什么
- 关于Eclipse安卓模拟器通过http访问地址的问题
- 请问最新的出现的Material Design是什么?
- 关于sharedpreference的权限问题
- android studio启动genymotion报错
- android4.0平板chrome浏览器加载html5视频页面有声音无画面
- GridView BaseAdapter 求解
试试读取一个真实的.png或者.jpg文件,然后生成一个图片。
jbyteArray test=(*env)->NewByteArray(env,_size);
char a[_size];
// char a[20] ="-----101.-2001-1110"; 测试用的数据,结果在java中输出都在原本的基础上大了48.(- 输出的是45)
memcpy(a,bits,_size);
//(*env)->SetByteArrayRegion(env,test,0,20, a);
(*env)->SetByteArrayRegion(env,test,0,_size, a);
munmap(bits, _ScreenSize);
close(_fb);
//return test;
return test;java中:byte array[] = ndk.SendPicThread_ScreenShot();
System.out.println("array[byte]: " + array.length);
for(int i=0;i<array.length;i++)
{ if(i%1000==0){
System.out.println("array ["+i+"] :"+array[i]);
}
//array[i]=(byte) (array[i]-48);
}bm = BitmapFactory.decodeByteArray(array, 0, array.length, null);
System.out.println("bm :" + bm);
if (bm != null) {
imageview.setImageBitmap(bm);
} else {
System.out.println("没有正常形成bitmap!");
}
结果array中有数据,但是却输出:没有正常形成bitmap。。
怎么才能不丢失0啊。穿过去的数据我感觉都是错误的。大部分数据都是-1,其他的又是很多是负数。
我这里就是刚才说的那样处理的
我不知道你的test从哪里赋值的,so。。不好说
BitmapFactory.decodeByteArray(b, 0, b.length);
=========================================>>>>
BitmapFactory.decodeByteArray(b, 0, b.length - 1);