東引甌越

不断学习, 与时俱进.

嗨,我是孙亚洲(@sunyazhou13),一名来自北国冰城的iOS开发者,也搞过一些mac.现居帝都北京.开发数年有余,没有为往圣续绝学深感惭愧,始于2016.望诸位同仁多多指教.


利用UIToolBar做高斯模糊背景

- (UIView *)containerBackgroundView {
if (!_containerBackgroundView) {
UIToolbar *toolBar = [[UIToolbar alloc] initWithFrame:CGRectZero];
toolBar.barStyle = UIBarStyleBlack;
toolBar.clipsToBounds = YES;
_containerBackgroundView = toolBar;
}
return _containerBackgroundView;
}

也可以使用UIBlurEffect

UIBlurEffect *blurEffect = [UIBlurEffect effectWithStyle:UIBlurEffectStyleLight];
UIVisualEffectView *blurView = [[UIVisualEffectView alloc] initWithEffect:blurEffect];
blurView.frame = myView.bounds;
[myView addSubview:blurView];

UIBlurEffectStyle

  • UIBlurEffectStyleExtraLight,//额外亮度,(高亮风格)

  • UIBlurEffectStyleLight,//亮风格

  • UIBlurEffectStyleDark//暗风格

UIBlurEffect 不能调节模糊半径

如果要调整模糊半径

可以对图片进行高斯模糊

-(UIImage *)convertToBlurImage:(UIImage *)image{
CIFilter *gaussianBlurFilter = [CIFilter filterWithName:@"CIGaussianBlur"];
[gaussianBlurFilter setDefaults];
CIImage *inputImage = [CIImage imageWithCGImage:[image CGImage]];
[gaussianBlurFilter setValue:inputImage forKey:kCIInputImageKey];
[gaussianBlurFilter setValue:@5 forKey:kCIInputRadiusKey];
CIImage *outputImage = [gaussianBlurFilter outputImage];
CIContext *context = [CIContext contextWithOptions:nil];
CGImageRef cgimg = [context createCGImage:outputImage fromRect:[inputImage extent]]; // note, use input image extent if you want it the same size, the output image extent is larger
UIImage *convertedImage = [UIImage imageWithCGImage:cgimg];
return convertedImage;
}

核心代码是[gaussianBlurFilter setValue:@5 forKey:kCIInputRadiusKey];

但是我测试100也没啥问题 没有测试出最大值

以上是几种高斯模糊的相关代码

全文完

最近的文章

Taptic Engine振动反馈

前言Taptic Engine 是苹果产品上推出的全新震动模块,该元件最早出现在 Apple Watch 中。iPhone 6s 和 iPhone 6s Plus 中,也同样内置了Taptic Engine,在设计上有所升级。 Taptic Engine 振动模块为 Apple Watch 以及 …

于  iOS开发 继续阅读
更早的文章

Linux 终端 Bash 常用快捷键介绍及经验

bash及其特性 bash实质上是一个可执行程序,一个用户的工作环境。 在每一个shell下可以再打开一个shell,新打开的shell可以称为子shell,每一个shell之间是相互独立的。 可以使用pstree命令查看当前shell下的子shell个数。 1. 最重要的自动补全 命令 解 …

于  iOS开发, macOS开发 继续阅读