Tocropviewcontroller: ¿Mostrar el área del círculo pero recortar con rect?

Creado en 15 sept. 2017  ·  5Comentarios  ·  Fuente: TimOliver/TOCropViewController

¡Hola todos!

Me gustaría saber si es posible mostrar el área de recorte circular a los usuarios, pero en lugar de recortar la imagen con un círculo, simplemente recortarla con el rectángulo mínimo que contiene ese círculo, ¿tiene sentido?

¡Gracias!

question rfc

Comentario más útil

¡Dooh! No sabía que el:

- (void)cropViewController:(TOCropViewController *)cropViewController didCropToImage:(UIImage *)image withRect:(CGRect)cropRect angle:(NSInteger)angle

se llamó al delegado incluso si configuré el área de recorte en circular :)

¡Muchas gracias Tim! ¡Salud!

Agus.

Todos 5 comentarios

¡Hola @ agusguerra10!

Si solo desea el CGRect de una imagen, incluso en modo circular, solo necesita implementar el método delegado - (void)cropViewController:(TOCropViewController *)cropViewController didCropImageToRect:(CGRect)cropRect angle:(NSInteger)angle . :)

También puede implementar - (void)cropViewController:(TOCropViewController *)cropViewController didCropToImage:(UIImage *)image withRect:(CGRect)cropRect angle:(NSInteger)angle si desea una copia cuadrada de esa imagen.

¡Espero que haya ayudado! ¡Avísame si estabas buscando algo más!

¡Dooh! No sabía que el:

- (void)cropViewController:(TOCropViewController *)cropViewController didCropToImage:(UIImage *)image withRect:(CGRect)cropRect angle:(NSInteger)angle

se llamó al delegado incluso si configuré el área de recorte en circular :)

¡Muchas gracias Tim! ¡Salud!

Agus.

¿De Verdad?
Estoy buscando la respuesta a esta pregunta.
He configurado el estilo circular.
pero no llamar a la función de delegado
func cropViewController (_ cropViewController: TOCropViewController, imagen didCropToImage: UIImage, rect cropRect: CGRect, ángulo: Int)

he resuelto el problema

  • (void) cropViewController: (TOCropViewController *) cropViewController didCropImageToRect: (CGRect) cropRect ángulo: (NSInteger) ángulo

se llamará a este método delegado incluso si se configura el área de recorte en circular.
en el delegado uso el - (UIImage * no nulo) croppedImageWithFrame: (CGRect) frame angle: (NSInteger) angle circularClip: (BOOL) circular;
para recortarlo para obtener la imagen correcta. pero es necesario establecer circularClip en falso.

Quiero preguntarle a Tim, ¿es cierto?
lo que dijo agusguerra10 no se llama en mi proyecto. xcode9 swift4.

  • (void) cropViewController: (TOCropViewController *) cropViewController didCropToImage: (UIImage *) imagen con Rect: (CGRect) cropRect ángulo: (NSInteger) ángulo
    También probé el código de ejemplo. no se llamará también si establece el estilo circular

¡No te preocupes @ agusguerra10! Sí, en retrospectiva, no fue un gran patrón basado en la lógica en qué métodos de delegado implementó el delegado; ha causado un poco de confusión. 😅

@ agusguerra10 Acabo de verificar el código para manejar las devoluciones de llamada de los delegados . Eso es correcto. Si implementa alguno de los métodos de delegado circular en modo circular, se ignora el que devuelve una imagen cuadrada.

Si cree que esto debería cambiarse, sería mejor realizar un seguimiento en un nuevo número. ¡Gracias! :)

¿Fue útil esta página
0 / 5 - 0 calificaciones