Como reconciliar a diferença na proporção entre o tamanho da visualização da câmera e o tamanho da imagem

Eu tenho um aplicativo de câmera que seleciona um tamanho de visualização com base nas características do meu layout (principalmente proporção) e depois seleciona um tamanho de imagem com base em outras restrições (dimensões mínimas). Isso geralmente resulta em uma imagem com uma proporção diferente da visualização.

Isso não é um problema em si, mas preciso mapear um retângulo na minha visualização para um retângulo equivalente na imagem para poder extrair a mesma área da foto final que estava visível na visualização quando a foto foi tirada.

Entendo que ter proporções diferentes significa que haverá partes dos retângulos que não se sobrepõem, mas não estou trabalhando perto o suficiente das bordas para que isso seja um problema.

Se não for possível saber como a visualização e a foto são mapeadas diretamente, existe uma maneira de determinar como elas são mapeadas para a câmera nativa? Se eu pudesse detectar programaticamente a proporção da câmera nativa, poderia determinar o esquema de corte.

questionAnswers(2)

yourAnswerToTheQuestion