Estoy tratando de enmascarar una imagen para poder darle solo dos esquinas redondeadas. Con el código que tengo, simplemente agrega la máscara en blanco sobre la imagen, pero parece que no la aplica. ¿Qué debo hacer diferente para enmascarar las esquinas de la imagen?iOS: enmascare un UIImage usando UIBezierPath
CAShapeLayer *maskLayer = [CAShapeLayer layer];
UIBezierPath *roundedPath = [UIBezierPath bezierPathWithRoundedRect:maskLayer.bounds byRoundingCorners:UIRectCornerTopLeft | UIRectCornerBottomRight cornerRadii:CGSizeMake(16.f, 16.f)];
maskLayer.fillColor = [[UIColor whiteColor] CGColor];
maskLayer.backgroundColor = [[UIColor clearColor] CGColor];
maskLayer.path = [roundedPath CGPath];
// Add mask
self.imageView.layer.mask = maskLayer;
darvidsOn puede decirme cómo puedo almacenar esta imagen enmascarada en un UIImage ... ??? –
Lea la documentación de Apple. Comenzaría con ['UIImage'] (http://developer.apple.com/library/ios/#documentation/UIKit/Reference/UIImage_Class/Reference/Reference.html), y también [' CGImage'] (http: //developer.apple.com/library/ios/documentation/GraphicsImaging/Reference/CGImage/Reference/reference.html#//apple_ref/doc/uid/TP30000956-Reference-DontLinkElementID_1), que es el objeto de imagen subyacente dentro de un ' UIImage'. Verás que en 'CGImage' hay funciones para crear una imagen usando una máscara, y luego un constructor' UIImage' que toma tu nueva 'CGImage' como la imagen. – darvids0n
Gracias por su respuesta. No pude encontrar nada. Es por eso que estoy preguntando ... –