[iOS]|[iOS] 设置毛玻璃效果 (UIBlurEffect)与高斯模糊
iOS 8 后更新的API,使用 UIBlurEffect 类和 UIVisualEffectView 类添加毛玻璃特效更加便捷,高效。
//创建显示图片
UIImageView *imageView = [[UIImageView alloc] init];
/**毛玻璃特效类型
*UIBlurEffectStyleExtraLight,
*UIBlurEffectStyleLight,
*UIBlurEffectStyleDark
*/
UIBlurEffect *blurEffect = [UIBlurEffecteffectWithStyle:UIBlurEffectStyleLight];
//毛玻璃视图
UIVisualEffectView *effectView = [[UIVisualEffectView alloc] initWithEffect:blurEffect];
//添加到要有毛玻璃特效的控件中
effectView.frame = imageView.bounds;
[imageView addSubview:effectView];
//设置模糊透明度
effectView.alpha = 0.5f;
【[iOS]|[iOS] 设置毛玻璃效果 (UIBlurEffect)与高斯模糊】iOS 7.0 的系统类
UIImageView *backView = [[UIImageView alloc] initWithFrame:self.view.bounds];
backView.image = [UIImage imageNamed:@"123.jpg"];
[self.view addSubview:backView];
UIToolbar *toolbar = [[UIToolbar alloc] initWithFrame:self.view.bounds];
toolbar.barStyle = UIBarStyleBlackTranslucent;
[backView addSubview:toolbar];
toolbar.alpha = 0.5;
高斯模糊效果(滤镜)
// 1、创建输入图像,CIImage类型,这里使用一个网上图片。
CIImage *inputImage = [CIImage imageWithContentsOfURL:[NSURL URLWithString:@"http://echo-image.qiniucdn.com/FtPAdyCH-SlO-5xEe009AFE-N0EF?imageMogr2/auto-orient/quality/100%7CimageView2/4/w/640/q/100"]];
// 2、构建一个滤镜图表
CIColor *sepiaColor = [CIColor colorWithRed:0.76 green:0.65 blue:0.54];
// 2.1 先构建一个 CIColorMonochrome 滤镜,并配置输入图像与滤镜参数
CIFilter *monochromeFilter = [CIFilter filterWithName:@"CIColorMonochrome" withInputParameters:@{@"inputColor" : sepiaColor,@"inputIntensity":@1.0}];
[monochromeFilter setValue:inputImage forKey:@"inputImage"];
// 通过KVC来设置输入图像
// 2.2 先构建一个 CIVignette 滤镜
CIFilter *vignetteFilter = [CIFilter filterWithName:@"CIVignette" withInputParameters:@{@"inputRadius" : @2.0,@"inputIntensity" :@1.0}];
[vignetteFilter setValue:monochromeFilter.outputImage forKey:@"inputImage"];
// 以monochromeFilter的输出来作为输入// 3、得到一个滤镜处理后的图片,并转换至 UIImage
// 创建一个 CIContext
CIContext *ciContext = [CIContext contextWithOptions:nil];
// 将 CIImage 过渡到 CGImageRef 类型
CGImageRef cgImage = [ciContext createCGImage:vignetteFilter.outputImage fromRect:inputImage.extent];
// 最后转换为 UIImage 类型
UIImage *uiImage = [UIImage imageWithCGImage:cgImage];
UIImageView *imgaeView = [[UIImageView alloc]initWithImage:uiImage];
imgaeView.frame = self.view.frame;
[self.view addSubview:imgaeView];
推荐阅读
- from表单、css选择器、css组合器、字体样式、背景属性、边框设置、display设置
- MobTech ShareSDK iOS端快速集成
- FIT3178 iOS
- iOS|iOS AVPlayer和MP无法播放MP4格式的问题
- iOS学习笔记02-UIScrollView
- CSS设置禁止文本复制
- 22、[|22、[ iOS ] 身份证号校验
- 记录Antd下Table属性expandIconColumnIndex设置无效的解决办法
- iOS|iOS Block的使用
- Corelocation