Android – Cómo recortar la previsualización de la cámara con TextureView

Tengo una vista previa que es WpxHp, quiero tomar imágenes HXW, por lo tanto, quiero que el usuario vea una ventana de vista previa que tiene la misma relación de aspecto de la imagen que voy a tomar, no el de la vista previa. ¿Cómo puedo recortar la vista previa con el TextureView?

editar

lo que pensé es utilizar una matriz de escala para distorsionar la imagen para cmpensate para el cambio de tamaño TextureView, permítanme explicar mejor:
Tengo un tamaño de vista previa de la imagen (imagen) que es (W, H). Por lo tanto, necesito cambiar el tamaño de TextureView a (W, H). Esto implica una distorsión que simplemente es un escalamiento lineal no uniforme representable por la matriz S. Por lo tanto, si escala la imagen con inv (S) antes de cambiar el tamaño de la vista debería obtener las mismas dimensiones originales de la vista previa (por lo tanto, la misma relación de aspecto) pero con el TextureView redimensionado y esto es equivalente a un cultivo. He intentado y parece que funciona, pero estoy buscando una forma alternativa

Lo único que he logrado hacer y que funciona bien es añadir una escala.

Quería crear un textureview con una parte de la salida de la cámara, pero no pude hacer eso sin dejar que la vista previa para obtener escalado.

Así que después de decidir cuál es la mejor resolución para la relación cámara / pantalla para iniciar la captura de obtener la relación de escala entre la altura de captura de la cámara y la altura que quiero mostrar.

mPreviewSize = chooseOptimalSize(...); int viewHeight = getDP(this, R.dimen.videoCaptureHeight); float scaleY = mPreviewSize.getHeight() / viewHeight; setScaleY(scaleY); 
  • VideoView y Progressive descargar
  • 60 / 120fps vista previa de datos en un dispositivo Android?
  • Android: la vista previa de la cámara es lateral
  • Cámara - cambios de vista previa después de iniciar la grabación de vídeo
  • Android: Acceso a los datos del marco de vista previa de cámara de hardware sin dibujarlos
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.