AVCam con camera cuadrada

Estoy usando AVCam para capturar imágenes, pero ahora quiero mostrar la camera cuadrada y tomar una image cuadrada. ¿Cómo puedo hacerlo?

¡Muchas gracias!

Esas requieren dos técnicas separadas.

Es importante comprender la distinción entre los dos.

El primero, al modificar la capa de vista previa del video, requiere ajustar la gravedad del video. Tenga en count que esto se puede cambiar de la siguiente manera, en el context de pantalla completa:

[Swift 3]

previewView.videoPreviewLayer.videoGravity = AVLayerVideoGravityResizeAspectFill 

Esencialmente, está modificando los límites de su visor. Sin embargo, no proporciona ningún efecto en su foto capturada.

Ahora, para su situación de relleno a un cuadrado, debe definir límites de capa y luego usar AVLayerVideoGravityResize .

En cuanto a la modificación de la foto capturada:

Mi método es simplemente tomar los datos de imágenes devueltos, convertirlos en UIImage y luego realizar una operación de recorte. El hecho del asunto es que su foto capturada siempre será la resolución y la relación de aspecto estándar del iPhone. Tendrá que tomar los datos de image y convertirlos en algún punto para eliminar los límites.

En verdad, ya no hago esto localmente porque es una molestia. Si se está comunicando con una API de REST, yo consideraría realizar operaciones de cultivo en el lado del server, es igual de transparente y less sobrecarga para el usuario. Por supuesto, eso puede no adaptarse a su situación.