List of usage examples for android.hardware Camera setDisplayOrientation
public native final void setDisplayOrientation(int degrees);
From source file:Main.java
/** A safe way to get an instance of the Camera object. */ public static Camera getCameraInstance() { Camera c = null; try {//from w w w. j av a 2 s.c o m c = Camera.open(); // attempt to get a Camera instance c.setDisplayOrientation(90); } catch (Exception e) { // Camera is not available (in use or does not exist) } return c; // returns null if camera is unavailable }
From source file:Main.java
/** * set the camera display orientation based on the activity's rotation * /*from w w w.ja va 2s . co m*/ * @param activity * @param cameraId * @param camera */ @SuppressLint("NewApi") public static void setCameraDisplayOrientation(Activity activity, int cameraId, android.hardware.Camera camera) { final int rotation = activity.getWindowManager().getDefaultDisplay().getRotation(); final int rotDeg = getCameraRotationForSurfaceRotation(rotation, camera, cameraId); if (rotDeg != 0) { camera.setDisplayOrientation(rotDeg); } }
From source file:Main.java
/** * Return camera instance// w w w.java2s. c o m */ public static Camera getCameraInstance(int displayOrientation) { Camera cam = null; try { cam = Camera.open(); // More efficient way to find available cameras. Nexus 7 needs this. if (cam == null) { int availableCameras = Camera.getNumberOfCameras(); for (int i = 0; i < availableCameras; i++) { cam = Camera.open(i); if (cam != null) break; } } cam.setDisplayOrientation(displayOrientation); Log.d(TAG, "Getting Camera: " + cam.toString()); } catch (Exception e) { Log.e(TAG, "Camera is not available (in use or does not exist)"); Log.e(TAG, e.toString()); } return cam; }
From source file:Main.java
public static void setCameraDisplayOrientation(Context mContext, int cameraId, Camera camera) { CameraInfo info = new CameraInfo(); Camera.getCameraInfo(cameraId, info); int rotation = ((Activity) mContext).getWindowManager().getDefaultDisplay().getRotation(); int degrees = 0; switch (rotation) { case Surface.ROTATION_0: degrees = 0;//from w w w. j a v a2 s . c o m break; case Surface.ROTATION_90: degrees = 90; break; case Surface.ROTATION_180: degrees = 180; break; case Surface.ROTATION_270: degrees = 270; break; } int result; if (info.facing == Camera.CameraInfo.CAMERA_FACING_FRONT) { result = (info.orientation + degrees) % 360; result = (360 - result) % 360; // compensate the mirror } else { // back-facing result = (info.orientation - degrees + 360) % 360; } camera.setDisplayOrientation(result); }
From source file:Main.java
public static int setCameraDisplayOrientation(int cameraId, Camera camera, int displayRotation) { CameraInfo info = new CameraInfo(); Camera.getCameraInfo(cameraId, info); int degrees = 0; switch (displayRotation) { case Surface.ROTATION_0: degrees = 0;/*from w w w . ja va2 s . com*/ break; case Surface.ROTATION_90: degrees = 90; break; case Surface.ROTATION_180: degrees = 180; break; case Surface.ROTATION_270: degrees = 270; break; } int camRotationDegree = 0; if (info.facing == CameraInfo.CAMERA_FACING_FRONT) { camRotationDegree = (info.orientation + degrees) % 360; camRotationDegree = (360 - camRotationDegree) % 360; // compensate the mirror } else { camRotationDegree = (info.orientation - degrees + 360) % 360; } if (camera != null) { camera.setDisplayOrientation(camRotationDegree); } return camRotationDegree; }
From source file:Main.java
public static void setCameraDisplayOrientation(int rotation, int cameraId, Camera camera) { Camera.CameraInfo info = new Camera.CameraInfo(); Camera.getCameraInfo(cameraId, info); // int rotation = activity.getWindowManager ().getDefaultDisplay // ().getRotation (); int degrees = 0; switch (rotation) { case Surface.ROTATION_0: degrees = 0;//from www .j ava 2s . co m break; case Surface.ROTATION_90: degrees = 90; break; case Surface.ROTATION_180: degrees = 180; break; case Surface.ROTATION_270: degrees = 270; break; } int result; if (info.facing == Camera.CameraInfo.CAMERA_FACING_FRONT) { result = (info.orientation + degrees) % 360; result = (360 - result) % 360; // compensate the mirror } else { // back-facing result = (info.orientation - degrees + 360) % 360; } camera.setDisplayOrientation(result); }
From source file:Main.java
/** * reference http://www.jianshu.com/p/1513134733d0 */// w ww .j a va 2 s. c om public static void setCameraDisplayOrientation(Activity activity, int cameraId, Camera camera) { Camera.CameraInfo info = new android.hardware.Camera.CameraInfo(); Camera.getCameraInfo(cameraId, info); int rotation = activity.getWindowManager().getDefaultDisplay().getRotation(); int degrees = 0; switch (rotation) { case Surface.ROTATION_0: degrees = 0; break; case Surface.ROTATION_90: degrees = 90; break; case Surface.ROTATION_180: degrees = 180; break; case Surface.ROTATION_270: degrees = 270; break; } int result; if (info.facing == Camera.CameraInfo.CAMERA_FACING_FRONT) { result = (info.orientation + degrees) % 360; result = (360 - result) % 360; // compensate the mirror } else { // back-facing result = (info.orientation - degrees + 360) % 360; } camera.setDisplayOrientation(result); }
From source file:Main.java
public static int setCameraDisplayOrientation(Activity activity, int cameraId, Camera camera) { Camera.CameraInfo info = new Camera.CameraInfo(); Camera.getCameraInfo(cameraId, info); int rotation = activity.getWindowManager().getDefaultDisplay().getRotation(); int degrees = 0; switch (rotation) { case Surface.ROTATION_0: degrees = 0;//from w ww . j a v a2 s . c o m break; case Surface.ROTATION_90: degrees = 90; break; case Surface.ROTATION_180: degrees = 180; break; case Surface.ROTATION_270: degrees = 270; break; } int result; if (info.facing == Camera.CameraInfo.CAMERA_FACING_FRONT) { result = (info.orientation + degrees) % 360; result = (360 - result) % 360; // compensate the mirror } else { // back-facing result = (info.orientation - degrees + 360) % 360; } Log.d(TAG, "camera display orientation: " + result); camera.setDisplayOrientation(result); return result; }
From source file:Main.java
public static void setCameraDisplayOrientation(Activity activity, int cameraId, android.hardware.Camera camera) { android.hardware.Camera.CameraInfo info = new android.hardware.Camera.CameraInfo(); android.hardware.Camera.getCameraInfo(cameraId, info); int rotation = activity.getWindowManager().getDefaultDisplay().getRotation(); int degrees = 0; switch (rotation) { case Surface.ROTATION_0: degrees = 0;/*from w ww. j a v a2s. c o m*/ break; case Surface.ROTATION_90: degrees = 90; break; case Surface.ROTATION_180: degrees = 180; break; case Surface.ROTATION_270: degrees = 270; break; } int result; if (info.facing == Camera.CameraInfo.CAMERA_FACING_FRONT) { result = (info.orientation + degrees) % 360; result = (360 - result) % 360; // compensate the mirror } else { // back-facing result = (info.orientation - degrees + 360) % 360; } camera.setDisplayOrientation(result); }
From source file:Main.java
public static int setCameraDisplayOrientation(int cameraId, android.hardware.Camera camera, int displayRotation) { Camera.CameraInfo info = new Camera.CameraInfo(); Camera.getCameraInfo(cameraId, info); int degrees = 0; switch (displayRotation) { case Surface.ROTATION_0: degrees = 0;/*from w w w . ja v a2 s . com*/ break; case Surface.ROTATION_90: degrees = 90; break; case Surface.ROTATION_180: degrees = 180; break; case Surface.ROTATION_270: degrees = 270; break; } int camRotationDegree = 0; if (info.facing == Camera.CameraInfo.CAMERA_FACING_FRONT) { camRotationDegree = (info.orientation + degrees) % 360; camRotationDegree = (360 - camRotationDegree) % 360; // compensate the mirror } else { camRotationDegree = (info.orientation - degrees + 360) % 360; } if (camera != null) { camera.setDisplayOrientation(camRotationDegree); } return camRotationDegree; }