IOS 7屏蔽问题 - 无法从uiimageview保存屏蔽图像

时间:2014-01-17 09:03:24

标签: ios objective-c uiimageview uiimage masking

我有这段代码在IOS 6中工作正常,但没有在IOS7中保存屏蔽图像,任何解释,建议?

//Masking the image
- (UIImage*) maskImage:(UIImage *)image withMask:(UIImage *)maskImage {

    CGImageRef maskRef = maskImage.CGImage; 

    CGImageRef mask = CGImageMaskCreate(CGImageGetWidth(maskRef),
                                        CGImageGetHeight(maskRef),
                                        CGImageGetBitsPerComponent(maskRef),
                                        CGImageGetBitsPerPixel(maskRef),
                                        CGImageGetBytesPerRow(maskRef),
                                        CGImageGetDataProvider(maskRef), NULL, false);

    CGImageRef masked = CGImageCreateWithMask([image CGImage], mask);
    return [UIImage imageWithCGImage:masked];
}


- (IBAction)savebtnclicked:(UIButton *)sender {


    NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
    NSString *documentsDirectory = [paths objectAtIndex:0];
    NSString *savedImagePath = [documentsDirectory stringByAppendingPathComponent:@"savedImage2.png"];
    UIImage *image = _imageFinal.image; // imageView is my image from camera
    NSData *imageData = UIImagePNGRepresentation(image);
    [imageData writeToFile:savedImagePath atomically:NO];

}

1 个答案:

答案 0 :(得分:0)

确保两个图像(要遮罩的图像和遮罩本身)都有alpha通道! 这解决了我在iOS7上的问题。

相关问题