2017-05-11 22 views
0

카메라 2 API를 사용하여 전체 화면에 미리보기를 표시하고 싶습니다. 내가 선택한 카메라 크기는 4160x3120 (16 : 9)이고 내 화면은 1080x1920 (9:16)입니다. 내가 미리 잘 조정되고 싶지 따라서 만약 카메라 출력을자를 수 있습니다SCALER_CROP_REGION을 사용하여 자르기 할 때 Camera2 미리보기가 늘어납니다.

Rect zoomCrop = new Rect(0, 0, 1755, 3120); 
captureRequestBuilder.set(CaptureRequest.SCALER_CROP_REGION, zoomCrop); 

크기뿐만 아니라 9시 16분의 비율이 1755x3120이어야 미리보기를 잘립니다. 그래도 미리보기가 길어요.

질문 : 나는 SCALER_CROP_REGION을 올바르게 사용하고 있습니까? 그렇지 않다면 어떻게 사용해야합니까? 사전에

덕분에

답변

1
당신은 풍경 이미지를 얻고 세로보기에서 표시되는 것처럼 소리

-이 당신이 왜곡을 피하려는 경우 위 이미지 아래 '기둥 상자'라인을 가지고 것을 의미합니다 .

화면을 채우고 왜곡이나 기둥이 보이지 않으면 이미지의 일부가 보이지 않을 것입니다. 즉,보기 영역의 외형입니다.

SCALER_CROP_REGION 다이어그램없이 이해하기 까다로운 - 내가 여기 Andoir 소스 문서로 최선의 설명을 발견 : -이 보여주는 것입니다 강조하는 이유가에서 재현 https://source.android.com/devices/camera/camera3_crop_reprocess

한 그림은 여기에 예로서 도움이 좌표가 어떻게 사용되고 있는지. 작물 지역을 보면, (0,0)에서 시작할 때 좌상단으로 편향 될 것이고, 나는 당신이 실제로 원하는 것이 확실하지 않습니다.

enter image description here

+0

예 이것은 내가 요, "숨기기"이미지의 어떤 부분을 원하는 exactely입니다. 그래도 scaler_crop_region을 사용하면 자동으로 끝내지 만 멋지게는 안됩니다 ... 미리보기를 전체 화면으로 표시하기 위해 이미지의 일부를 어떻게 숨길 수 있습니까? –

+1

카메라 2는 방향과 관련된 많은 질문과 문제점이있는 것 같습니다 (예 : http : //stackoverflow.com/q/33479004/334402). 앱을 세로로 사용하고 가로로 녹화하는 것이 좋습니다. 나는 왜곡이 일어난다 고 생각합니다. 뷰와 같은 종횡비가 아닌 이미지로 뷰를 채우고 있기 때문입니다. 디스플레이를 사용 했습니까? – Mick