高斯模糊的使用(毛玻璃效果)

//封装高斯模糊
+ (UIImage *)coreBlurImage:(UIImage *)image
withBlurNumber:(CGFloat)blur
{
CIContext *context = [CIContext contextWithOptions:nil];
CIImage *inputImage = [CIImage i mageWithCGImage:image.CGImage];
//设置filter
CIFilter *filter = [CIFilter filterWithName:@"CIGaussianBlur"];
[filter setValue:inputImage forKey:kCIInputImageKey];
[filter setValue:@(blur) forKey:@"inputRadius"];
//模糊图片
CIImage *result = [filter valueForKey:kCIOutputImageKey];
CIImage *tmpImage = [CIImage imageWithCGImage:image.CGImage];
CGImageRef outImage = [context createCGImage:result fromRect:[tmpImage extent]];
UIImage *blurImage = [UIImage imageWithCGImage:outImage];
CGImageRelease(outImage);

return blurImage;
    }                        

使用

[self.backgroundView sd_setImageWithURL:tmpUrl
                             placeholderImage:[UIImage imageNamed:@"me_bg"]
                                    completed:^(UIImage *image, NSError *error, SDImageCacheType cacheType, NSURL *imageURL) {
                                        UIImage *tmpImage = [UIImage coreBlurImage:image withBlurNumber:30.0];
                                        self.backgroundView.image = tmpImage;

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

推荐阅读更多精彩内容