Я пытаюсь получить полноэкранный предварительный просмотр камеры. Я прочитал документацию камеры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.
Вот что я понял на данный момент. Пожалуйста, поправьте меня, если что-то из моего понимания неверно:
Вид текстуры и буфер предварительного просмотра должны иметь одинаковое соотношение сторон. Они могут иметь разное разрешение, но соотношение сторон должно быть одинаковым, если вы не хотите, чтобы предварительный просмотр выглядел искаженным.
Вы должны установить размер буфера вида текстуры на оптимально выбранный размер предварительного просмотра. Демонстрация camera2basic, похоже, подтверждает это строкой
texture.setDefaultBufferSize(mPreviewSize.getWidth(), mPreviewSize.getHeight()
.
У меня есть вопрос: как только вы сопоставите соотношение сторон и размер вида текстуры и предварительного просмотра, чтобы они были одинаковыми, как вы масштабируете вид текстуры, чтобы он соответствовал полноэкранному режиму?
Метод configureTransform
демонстрации camera2basic, похоже, преобразует TextureView в размер предварительного просмотра, но не делает его полноэкранным. Как рассчитать правильный коэффициент масштабирования, чтобы сделать TextureView полноэкранным?