Guardar UIImage con UIImagePNGRepresentation no conserva mi modificación de capa

Estoy cargando una image de NSData. La image original se creó como un JPG. Cuando bash establecer un radio de esquina y save en el disco, estoy perdiendo los cambios que hice. Estoy guardando en el disco como un PNG, ya que supuse que se crearía un canal alfa en las capas que se debe conservar.

UIImageView *imageView = [[UIImageView alloc] initWithImage:[UIImage imageWithData:data]]; [imageView.layer setMasksToBounds:YES]; [imageView.layer setCornerRadius:10.0f]; data = UIImagePNGRepresentation(imageView.image); // save data to file with .png extension 

El problema es que cuando vuelvo a cargar la image del sistema de files en un UIImage, el radio de la esquina no está visible.

CGContext puede tomar una "captura de pantalla".

 UIGraphicsBeginImageContext(self.frame.size); [self.layer renderInContext:UIGraphicsGetCurrentContext()]; UIImage *image = UIGraphicsGetImageFromCurrentImageContext(); UIGraphicsEndImageContext(); // Now I use the "screenshot" NSString *path = [NSHomeDirectory() stringByAppendingString:@"/image.jpg"]; if ([UIImageJPEGRepresentation(image, 1) writeToFile:path atomically:YES]) { NSLog(@"save ok"); } else { NSLog(@"save failed"); } 

Está configurando el radio de la esquina en la vista de la image, no en la image. La representación PNG es de la image, no de la vista de la image, por lo que se pierde el radio de la esquina.