我正在尝试创建一个相机意图,下面给出了代码的一部分。
public void onPictureTaken(byte[] data, Camera camera) {
String dat = new String(data);
byte[] datas = dat.getBytes();
preview.setVisibility(View.GONE);
ImageView iv2 = (ImageView)findViewById(R.id.iv1);
Bitmap bMap = BitmapFactory.decodeByteArray(datas, 0, datas.length);
iv2.setImageBitmap(bMap);
}这会使imageview保持为空,但是当我给出
Bitmap bMap = BitmapFactory.decodeByteArray(data, 0, data.length); imageview已正确加载。我在字节数组到字符串的转换中做错了什么吗??
发布于 2013-04-15 13:54:33
为什么需要这两行?
String dat = new String(data);
byte[] datas = dat.getBytes(); 直接在decodeByteArray中使用数据
发布于 2014-01-24 17:19:58
您甚至不需要将byte[]转换为字符串。只需按原样使用它。
public void onPictureTaken(byte[] data, Camera camera) {
preview.setVisibility(View.GONE);
ImageView iv2 = (ImageView)findViewById(R.id.iv1);
// ensure ImageView is visible.
iv2.setVisibility( View.VISIBLE);
Bitmap bMap = BitmapFactory.decodeByteArray(data, 0, data.length);
iv2.setImageBitmap(bMap);
}只需使用上述修改后的代码即可。
https://stackoverflow.com/questions/16008362
复制相似问题