iOS毛玻璃效果的实现及图片模糊效果的三种方法

2020-01-14 17:58:11刘景俊

iOS毛玻璃效果的实现及图片模糊效果的三种方法

嗯! 最后再来给大家介绍一个国外大神封装的UIImageView的分类,里面不管是怎么实现的,反正使用非常简单,只要一句代码就搞定.

下面先看代码:


UIImageView *bgImgView = [[UIImageView alloc] initWithFrame:self.view.bounds];
//bgImgView.image = [UIImage imageNamed:@"huoying.jpg"];
bgImgView.contentMode = UIViewContentModeScaleAspectFill;
// 对背景图片进行毛玻璃效果处理 参数blurRadius默认是,可指定,最后一个参数block回调可以为nil
[bgImgView setImageToBlur: [UIImage imageNamed:@"huoying.jpg"] blurRadius: completionBlock:nil];
bgImgView.userInteractionEnabled = YES;
[self.view addSubview:bgImgView]; 

效果图:

iOS毛玻璃效果的实现及图片模糊效果的三种方法

再来看看添加毛玻璃效果后的视图结构:

哈哈哈, 大家应该看懂了, 这是直接对背景图片进行了高斯模糊处理了,其它就不解释了.

iOS毛玻璃效果的实现及图片模糊效果的三种方法

好啦, 反正iOS中要进行毛玻璃效果处理就这几种方式,看大家的需求,喜欢用哪种就用哪种吧.

上面的demo,包括大神封装的分类,如果需要详细的源代码的话,可以到我的gitHub上Clone啦!有问题欢迎留言一起探讨学习.

下面给大家介绍图片模糊效果的三种方法

第一种使用Core Image进行模糊


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