Correct the setDisplayOrientation sample code.

Change-Id: I37af4090b383204a5fd228a4388732e11ef2fa8c
This commit is contained in:
Chih-Chung Chang
2010-06-14 18:57:15 +08:00
parent d890cbf700
commit 724c522444

View File

@ -624,16 +624,26 @@ public class Camera {
* be called during preview. * be called during preview.
* *
* If you want to make the camera image show in the same orientation as * If you want to make the camera image show in the same orientation as
* the display, you can use <p> * the display, you can use the following code.<p>
* <pre> * <pre>
* android.view.Display display; * public static void setCameraDisplayOrientation(Activity activity,
* android.hardware.Camera.CameraInfo cameraInfo; * 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; break;
* case Surface.ROTATION_90: degrees = 90; break;
* case Surface.ROTATION_180: degrees = 180; break;
* case Surface.ROTATION_270: degrees = 270; break;
* }
* *
* int rotation = getWindowManager().getDefaultDisplay().getRotation(); * int result = (info.mOrientation - degrees + 360) % 360;
* android.hardware.Camera.getCameraInfo(id, cameraInfo); * camera.setDisplayOrientation(result);
* int degrees = (cameraInfo.mOrientation - rotation + 360) % 360; * }
*
* setDisplayOrientation(degrees);
* </pre> * </pre>
* @param degrees the angle that the picture will be rotated clockwise. * @param degrees the angle that the picture will be rotated clockwise.
* Valid values are 0, 90, 180, and 270. The starting * Valid values are 0, 90, 180, and 270. The starting