当前位置 : 主页 > 手机开发 > ios >

在iOS上非常慢的UIImage模糊

来源:互联网 收集:自由互联 发布时间:2021-06-11
我想在我的图像视图上应用模糊.我有这个代码模糊: - (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.

网友评论