概述
本文实例分享两种iOS毛玻璃效果设置的方法,不需要任何第三方,先看效果:
原图:
方法一(iOS8系统方法):
方法二:
下面是示例代码:
#import "ViewController.h" @interface ViewController () { UIImageView *_imageView; } @end @implementation ViewController - (void)viewDidLoad { [super viewDidLoad]; _imageView = [[UIImageView alloc]initWithFrame:self.view.bounds]; _imageView.image = [UIImage imageNamed:@"1.jpg"]; [self.view addSubview:_imageView]; //方法一:系统方法,iOS8及以上可用 if (!UIAccessibilityIsReduceTransparencyEnabled()) { UIBlurEffect *blurEffect = [UIBlurEffect effectWithStyle:UIBlurEffectStyleDark]; UIVisualEffectView *blurEffectView = [[UIVisualEffectView alloc]initWithEffect:blurEffect]; blurEffectView.frame = _imageView.bounds; [_imageView addSubview:blurEffectView]; } //方法二:Core Image UIImageView *blurImageView = [[UIImageView alloc]initWithFrame:_imageView.bounds]; blurImageView.image = [self blur:[UIImage imageNamed:@"1.jpg"]]; [_imageView addSubview:blurImageView]; } //生成一张毛玻璃图片 - (UIImage*)blur:(UIImage*)theImage { CIContext *context = [CIContext contextWithOptions:nil]; CIImage *inputImage = [CIImage imageWithCGImage:theImage.CGImage]; CIFilter *filter = [CIFilter filterWithName:@"CIGaussianBlur"]; [filter setValue:inputImage forKey:kCIInputImageKey]; [filter setValue:[NSNumber numberWithFloat:15.0f] forKey:@"inputRadius"]; CIImage *result = [filter valueForKey:kCIOutputImageKey]; CGImageRef cgImage = [context createCGImage:result fromRect:[inputImage extent]]; UIImage *returnImage = [UIImage imageWithCGImage:cgImage]; CGImageRelease(cgImage); return returnImage; } - (void)didReceiveMemoryWarning { [super didReceiveMemoryWarning]; // Dispose of any resources that can be recreated. } @end
具体效果和参数自行研究吧!
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持靠谱客。
最后
以上就是孝顺酒窝为你收集整理的iOS实现毛玻璃效果(无需要第三方)的全部内容,希望文章能够帮你解决iOS实现毛玻璃效果(无需要第三方)所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复