I would like to apply blur on my image view. I have this code for blurring:
- (UIImage *)applyBlurOnImage: (UIImage *)imageToBlur withRadius: (CGFloat)blurRadius
{
CIImage *originalImage = [CIImage imageWithCGImage: imageToBlur.CGImage];
CIFilter *filter = [CIFilter filterWithName: @"CIGaussianBlur" keysAndValues: kCIInputImageKey, originalImage, @"inputRadius", @(blurRadius), nil];
CIImage *outputImage = filter.outputImage; CIContext *context = [CIContext contextWithOptions:nil];
CGImageRef outImage = [context createCGImage: outputImage fromRect: [outputImage extent]];
return [UIImage imageWithCGImage: outImage];
}
But blurring happens very slow for screenshot of my UIView
on iPad.
Is there any faster way to do this?