方法一、
将图片“模糊化”、即高斯模糊算法,我们采用 ”UIImage+ImageEffects.h”的类别方法。是将Image模糊处理后获得一个新的Image。
定义.h文件:
- (UIImage *)applyLightEffect;
- (UIImage *)applyExtraLightEffect;
- (UIImage *)applyDarkEffect;
- (UIImage )applyTintEffectWithColor:(UIColor )tintColor;
- (UIImage )applyBlurWithRadius:(CGFloat)blurRadius tintColor:(UIColor )tintColor saturationDeltaFactor:(CGFloat)saturationDeltaFactor maskImage:(UIImage *)maskImage;
定义.m文件:
//_blurStyle 代表风格
//_defaultImage 是我们想要处理的图片
//_value 模糊度
//_arcColor 随机生成的颜色
switch (_blurStyle) {
case BlurStyleNone://原图
_imgView.image=_defaultImage;
break;
case BlurStyleLight://透白风
_imgView.image=[_defaultImage applyLightEffect];
break;
case BlurStyleExtraLight://亮白风
_imgView.image=[_defaultImage applyExtraLightEffect];
break;
case BlurStyleDark://黑暗风
_imgView.image=[_defaultImage applyDarkEffect];
break;
case BlurStyleTintEffect://自定义颜色
_imgView.image= [_defaultImage applyTintEffectWithColor:_arcColor];
break;
case BlurStyleCustom://自定义颜色和模糊度
_imgView.image=[_defaultImage applyBlurWithRadius:_value tintColor:_arcColor saturationDeltaFactor:1.8 maskImage:nil];
break;
default:
break;
}
方法二、
iOS8,苹果便加入了UIVisualEffectView类,这就是真正的”毛玻璃”,你可以将它放在你想放的任何视图上。
//系统枚举的毛玻璃风格
typedef NS_ENUM(NSInteger, UIBlurEffectStyle) {
UIBlurEffectStyleExtraLight,
UIBlurEffectStyleLight,
UIBlurEffectStyleDark }
NS_ENUM_AVAILABLE_IOS(8_0);
那么如何创建呢?
_backgroundView=[[UIVisualEffectView alloc]initWithEffect:[UIBlurEffect effectWithStyle:UIBlurEffectStyleLight]]; //这里可自定义是暗黑风格,还是白色风格
_backgroundView.frame=CGRectMake(0, 0, ScreenSize.width, ScreenSize.height);
[self.view addSubview:_backgroundView];
瞧!是不是很简单啊!