高斯模糊

左侧按钮多出20像素解决方案: if ([[[UIDevice currentDevice]systemVersion]floatValue]>=7.0?20:0) {
UIBarButtonItem *negativeSpace=[[UIBarButtonItem alloc]initWithBarButtonSystemItem:UIBarButtonSystemItemFixedSpace target:nil action:nil];
negativeSpace.width=-19;
self.navigationItem.leftBarButtonItems=@[negativeSpace,[[UIBarButtonItem alloc]initWithCustomView:self.leftButton]];
}else{
self.navigationItem.leftBarButtonItem=[[UIBarButtonItem alloc]initWithCustomView:self.leftButton];
}

pragma mark---高斯模糊

  • (UIImage *)blurryImage:(UIImage *)image withBlurLevel:(CGFloat)blur{
    CIImage *inputImage=[CIImage imageWithCGImage:image.CGImage];
    CIFilter *filter=[CIFilter filterWithName:@"CIGaussianBlur" keysAndValues:kCIInputImageKey,inputImage,@"inputRadius", @(blur),nil];
    CIImage *outPutImage=filter.outputImage;
    CIContext *context=[CIContext contextWithOptions:nil];
    CGImageRef outImage=[context createCGImage:outPutImage fromRect:[inputImage extent]];
    return [UIImage imageWithCGImage:outImage];

}

使用方法: dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
NSData *data=[NSData dataWithContentsOfURL:[NSURL URLWithString:_AlbumListModel.album.coverLarge]];
dispatch_async(dispatch_get_main_queue(), ^{
[_imageView setImage:[self blurryImage:[UIImage sd_imageWithData:data] withBlurLevel:9] ];

    });
});
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容