Recorte de la cámara Android
Estoy desarrollando una aplicación de Android que usa ZBar como una biblioteca de código QR, y las cosas van bien. Ahora, sin embargo, estoy construyendo la interfaz para la aplicación, y requiere que muestre sólo una cierta parte de la alimentación de la cámara en la parte inferior de la pantalla, algo así:
- Cortar una imagen de mapa de bits
- ¿Por qué se cortan las animaciones de Vista a veces?
- Circular sector con forma de recorte máscara con Path.addArc?
- Android: Tablerow multiline textview recorte verticalmente
- Aplicar una máscara a una sola vista de superposición sin enmascarar toda la actividad
La vista de cámara a continuación debe ser de tamaño completo, es decir, una vista recortada y no redimensionada. Sin embargo, establecer el ancho y la altura de FrameLayout ha provocado que cambie de tamaño y aplastar toda la imagen en el marco diminuto.
¿Hay una manera de recortarlo? Sé que probablemente podría colocar una superposición sobre la imagen original, pero ¿cómo se crea un cuadrado transparente en el medio para mostrar lo que necesito? Además, el lector QR captura cualquier cosa de la cámara captura, por lo que si el usuario trajo el código QR En frente de la cámara y lo capturó "fuera de la pantalla" (por la parte que realmente está cubierto por la superposición), sería muy confuso.
Así que supongo que lo que estoy diciendo es, no puedo usar una superposición para "recortar" la imagen. ¿Hay alguna otra forma de hacerlo?
- Altura dinámica de TextView dentro de un GridLayout
- Recorte de mapa de bits
- Entendiendo el recorte de lienzo de Android
- Eliminación de espacios de la cadena
- Ajustar la funcionalidad de vídeo en una aplicación Android
En cuanto a mi conocimiento no se puede recortar la vista de la cámara, pero lo que puede hacer es volver a tamaño del marco y luego capturar la imagen.
Sin embargo, yo sugeriría referir esta publicación
El primer pensamiento que viene a la mente es poner su CameraPreview
en una vista dentro de un FrameLayout
. A continuación, agregue más vistas en la parte superior de la vista de CameraPreview
para ocultar las partes que no desea que sean visibles.
O Tal vez sólo una vista super-imponer la vista previa de la cámara con un PNG que cubre todo con "recortado" área establecida como transparente.