recortar - porque la camara frontal iphone voltea las fotos
Recortar UIImage para adaptarse a una imagen de marco (4)
Necesito recortar un UIImage
, tomado con la cámara del dispositivo, para que quepa dentro de otro UIImage
, que representa un frame
(con bordes redondeados, etc.). Verifique la imagen a continuación:
Usar Relleno de aspecto
Usar ajuste de aspecto
Entonces, lo que necesito es eliminar el exceso de imagen que está fuera de los límites del cuadro. Intenté usar UIBezierPath
, CGImageRef
y otros métodos que CGImageRef
Google, pero no encuentro una solución para esto.
En Interface Builder, acceda al menú Mode dentro del panel de detalles (el cuarto) y elija el más adecuado para su UIImageView
(supongo que "center" o "aspect fit").
ANTIGUA RESPUESTA:
Puede usar la propiedad contentGravity de CALayer para que funcione
Una constante que especifica cómo se posicionan o escalan los contenidos de la capa dentro de sus límites.
@property(copy) NSString *contentsGravity
Usa un UIImageView
y hazlo
imageView.contentMode = UIViewContentModeScaleAspectFit;
hacer un IBOutlet
en su controlador.
@property (retain)IBOutlet UIImageView* imageView;
y en -(void) viewDidLoad
set -(void) viewDidLoad
imageView.layer.masksToBounds = YES;
En Interface Builder, use la siguiente configuración:
Hay dos configuraciones importantes, a saber:
Mode: Aspect Fill
Clip Subviews
También se puede hacer de forma programática:
[imageView setContentMode:UIViewContentModeScaleAspectFill];
[imageView setClipsToBounds:YES];
Esto llenará correctamente la vista con la imagen, mantendrá su relación de aspecto y ocultará lo que no encaje.