2016-10-08 1 views
0

카메라의 전체 화면 미리보기를 얻으려고합니다. 카메라 2의 설명서를 읽었습니다. Each Surface has to be pre-configured with an appropriate size and format (if applicable) to match the sizes and formats available from the camera device. 여기까지 제가 지금까지 이해 한 바가 있습니다. 나의 이해의 잘못 인 경우 제발 올바른 :카메라 2를 사용하여 전체 화면 텍스처 뷰를 얻는 방법은 무엇입니까?

  1. 텍스처보기와 미리보기 버퍼는 같은 화면 비율해야합니다. 이들은 다른 해상도 일 수 있지만 미리보기가 왜곡되어 보이지 않게하려면 가로 세로 비율이 동일해야합니다.

  2. 텍스처보기의 버퍼 크기를 최적으로 선택한 미리보기 크기로 설정해야합니다. camera2basic 데모는 texture.setDefaultBufferSize(mPreviewSize.getWidth(), mPreviewSize.getHeight() 행으로이를 확인하는 것으로 보입니다.

내가 가진 질문 당신이 전체 화면에 맞도록 당신이 텍스처보기를 확장 어떻게, 가로 세로 비율 및 크기 텍스처보기와 동일하게 미리보기를 일치하면, 무엇입니까?

카메라 2 기본 데모의 configureTransform 메서드는 TextureView를 미리보기 크기로 변형하지만 전체 화면으로 만들지는 않습니다. TextureView를 전체 화면으로 만들기 위해 정확한 축척 계수를 어떻게 계산합니까?

답변

0

TextureView를 액티비티 레이아웃의 화면에 채울 수 있습니다. 그런 다음 configureTransform() 메서드를 조정하여 전체 화면 TextureView와 가장 가까운 aspect 미리보기 크기 간의 종횡비 차이를 고려해야합니다. 기본적으로 일반적인 글자 또는 기둥 복싱 효과를 구현해야합니다.

물론 일치하는 종횡비가있는 경우 직접 사용할 수 있지만 그렇게하지 않는 것이 좋습니다.

관련 문제