我想在我的图像视图上应用模糊.我有这个代码模糊: - (UIImage *)applyBlurOnImage: (UIImage *)imageToBlur withRadius: (CGFloat)blurRadius{ CIImage *originalImage = [CIImage imageWithCGImage: imageToBlur.CGImage]; CIFilter
- (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]; }
但是对于我的UIView在iPad上的截图,模糊发生的速度非常慢.
有没有更快的方法来做到这一点?
Apple在WWDC上发布了满足您需求的代码.它是UIImage上的一个类别,使用Accelerate框架进行快速图像处理.
如果您有开发者帐户,则可以获取UIImage类别here.