2014-08-29 60 views
0

我正在开发android应用程序使用自定义相机和我的相机方向是肖像,但图像保存在横向和图像划痕和接受三星所有设备工作正常,请给我任何解决方案提前致谢。 这里是我设置摄像头方向的方法。问题在三星设备在自定义相机中的图像保存

public void updateCameraRotation(){ 
      try { 
       Camera.CameraInfo info = new Camera.CameraInfo(); 
       Camera.getCameraInfo(Camera.CameraInfo.CAMERA_FACING_BACK, info); 
       int rotation = this.getWindowManager().getDefaultDisplay().getRotation(); 
       int degrees = 0; 
       switch (rotation) { 
       case Surface.ROTATION_0: degrees = 0; break; //Natural orientation 
       case Surface.ROTATION_90: degrees = 90; break; //Landscape left 
       case Surface.ROTATION_180: degrees = 180; break;//Upside down 
       case Surface.ROTATION_270: degrees = 270; break;//Landscape right 
       } 
       int rotate = (info.orientation - degrees + 360) % 360; 
       Camera.Parameters params = myCamera.getParameters(); 
       params.setRotation(rotate); 
       myCamera.setParameters(params); 
      } catch (Exception e) { 
       e.printStackTrace(); 
      } 
     } 

回答

0

我已经解决了这个问题,此代码:

deviceName=Util.getInstance().getDeviceName(); 
if(deviceName.contains("Samsung")||deviceName.equalsIgnoreCase("Samsung")){ 
    if (bitmap.getWidth() > bitmap.getHeight()) { 
     Matrix matrix = new Matrix(); 
     matrix.postRotate(90); 
     bitmap = Bitmap.createBitmap(bitmap, 0, 0, bitmap.getWidth(), bitmap.getHeight(), matrix, true); 
    } 
} 
相关问题