来自相机的数据损坏

时间:2017-06-07 12:43:47

标签: android android-camera

我对某个特定设备(BQ Aquaris M5 - Android 5.0.2)有一些问题,它会从onPictureTaken()相机回调中返回一些数据。颜色完全搞砸了:

enter image description here

这种情况从未发生过,我已经在几个设备上进行了测试,没有任何问题。

我已经看过/尝试过的事情:

  • 使用后置摄像头代替前置摄像头,正确显示图像。
  • SurfaceView正确显示图像。
  • 增加照片之间的延迟并打开相机(之前我们遇到了问题,使图像模糊,并且在几百毫秒的PostDelayed内运行takePicture解决了这个问题。)
  • 来自回调的数据已损坏。图像在GMaps活动中显示为图标标记(在调整大小后)作为新意图的附加包。

    final byte[] photo = b.getByteArray("photo");
    Marker marker = map.addMarker(new MarkerOptions().position(new LatLng(lat, lon)));
    
    if (photo!=null){
        final Bitmap bmpPhoto = BitmapFactory.decodeByteArray(photo, 0, photo.length);
        marker.setIcon(BitmapDescriptorFactory.fromBitmap(bmpPhoto));            
    }
    

0 个答案:

没有答案