iOS 实时高斯模糊图片的方法
2016-07-15 本文已影响1478人
Fiona_L
在iOS中,高斯模糊图片有很多方法,CoreImage和vImage等等,但是这些都是静态模糊,也就是说对一张已有图片的模糊,但是在日常开发中经常会遇到要对从网络上下载的图片进行模糊的情景,此时我们只有一个图片的url,并没有图片本身,所以我们需要一种实时模糊的方法。
iOS8以上可以使用新的API实现:
UIBlurEffect:
UIBlurEffect *blurEffect = [UIBlurEffect effectWithStyle:UIBlurEffectStyleLight];
UIVisualEffectView *blurView = [[UIVisualEffectView alloc] initWithEffect:blurEffect];
blurView.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight;
blurView.frame = self.bounds;
[self addSubview:blurView];
UIBlurEffectStyleExtraLight 白色调
UIBlurEffectStyleLight 浅色调
UIBlurEffectStyleDark 黑色调
但是这个方法只在iOS8及以上生效,对iOS7想使用高斯模糊效果,就要用到toolBar了,因为我们平时大概也注意到在底部工具栏拉起的时候,背景图是被高斯模糊了的
UIToolbar:
UIToolbar *toolBar = [[UIToolbar alloc] initWithFrame:self.frame];
toolBar.barStyle = UIBarStyleBlack;
toolBar.translucent = YES;
[self addSubview:toolBar];