Camera.SetDisplayOrientation(Int32) 메서드
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
주의
deprecated
미리 보기 디스플레이의 시계 방향 회전을 도 단위로 설정합니다.
[Android.Runtime.Register("setDisplayOrientation", "(I)V", "")]
[System.Obsolete("deprecated")]
public void SetDisplayOrientation (int degrees);
[<Android.Runtime.Register("setDisplayOrientation", "(I)V", "")>]
[<System.Obsolete("deprecated")>]
member this.SetDisplayOrientation : int -> unit
매개 변수
- degrees
- Int32
그림이 시계 방향으로 회전할 각도입니다. 유효한 값은 0, 90, 180 및 270입니다.
- 특성
설명
미리 보기 디스플레이의 시계 방향 회전을 도 단위로 설정합니다. 이는 미리 보기 프레임과 스냅샷 후에 표시되는 그림에 영향을 줍니다. 이 메서드는 세로 모드 애플리케이션에 유용합니다. 전면 카메라의 미리 보기 디스플레이는 회전 전에 가로로 대칭 이동됩니다. 즉, 이미지가 카메라 센서의 중앙 세로 축을 따라 반영됩니다. 따라서 사용자는 자신을 거울을 보는 것으로 볼 수 있습니다.
이는 전달된 PreviewCallback#onPreviewFrame
바이트 배열, JPEG 사진 또는 녹화된 비디오의 순서에는 영향을 주지 않습니다. 이 메서드는 미리 보기 중에 호출할 수 없습니다.
카메라 이미지를 디스플레이와 동일한 방향으로 표시하려면 다음 코드를 사용할 수 있습니다.
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; 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);
}
API 수준 14부터 미리 보기가 활성 상태일 때 이 메서드를 호출할 수 있습니다.
<b>참고: </b>API 수준 24 이전에는 방향의 기본값이 0입니다. API 수준 24부터 기본 방향은 강제 가로 모드의 애플리케이션이 올바른 미리 보기 방향을 가지도록 하며, 기본값은 0 또는 180일 수 있습니다. 세로 모드에서 작동하거나 방향을 변경할 수 있는 애플리케이션은 모든 경우에 올바른 미리 보기 표시를 위해 각 방향이 변경된 후에도 이 메서드를 호출해야 합니다.
에 대한 android.hardware.Camera.setDisplayOrientation(int)
Java 설명서
이 페이지의 일부는 Android 오픈 소스 프로젝트에서 만들고 공유하고 Creative Commons 2.5 특성 라이선스에 설명된 용어에 따라 사용되는 작업을 기반으로 하는 수정 사항입니다.