2009-12-01 6 views
6

Estoy tratando de permitir que el usuario tome imágenes con una relación de aspecto de 16x9 para que parezca que son buenas fotos HD. Estoy usando la cámara ViewOverlay para superponer barras negras en ambos extremos, pero cuando se toma la imagen, ¿cómo recorto la parte superior e inferior sin cambiar el tamaño o cambiar la escala de la imagen?¿Cómo recortar la imagen después de tomarla de la cámara UIImagePicker?

Gracias.

Respuesta

2

Existen varias publicaciones acerca de cómo escalar/recortar un UIImage que obtiene de la cámara, como this one.

Es un poco más complicado de lo que cabría esperar, ya que las imágenes de la cámara se rotan, por lo que debe pensar en las rotaciones incluso si solo está recortando.

+4

No diría que esta es la respuesta correcta. Ya que la pregunta es solo sobre cultivos. La solución que señala en esta respuesta es una solución por sí mismo, y también es específica para la escala Y la cosecha. Todavía no he encontrado una solución para recortar una imagen tomada de la cámara. –

+0

@RigoVides ¿puede publicar la solución? – Dejell

1

puede agregar "selector.imagenEdición = SÍ" a su código cuando toma la imagen. Luego debe establecer las propiedades de imageView en el constructor de interfaz: Atributos de vista de imagen -> Ver -> Modo -> Aspecto ajustado u otra opción como desee

+1

Creo que te refieres a "picker.allowsEditing = YES" – TomSwift

+0

¿De qué imagen estás hablando? ¿El seleccionado del controlador uiimagepicker? – Dejell

1

Consulte esta solución de Ming Yang. https://github.com/myang-git/iOS-Image-Crop-View

Permite al usuario recortar la imagen deslizando o arrastrando los bordes de un rectángulo alrededor de la parte requerida de la imagen. Supongo que este código se puede modificar para adaptarlo a su cultivo, ya sea automático o manual.

Está codificado en Objective-C. Es posible que tenga que codificarlo en Swift o simplemente crear un encabezado de puente para conectar el código Objective-C con el código Swift.

Cuestiones relacionadas