Home 毛玻璃效果
Post
Cancel

毛玻璃效果

方法一、

将图片“模糊化”、即高斯模糊算法,我们采用 ”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]; 

瞧!是不是很简单啊!

This post is licensed under CC BY 4.0 by the author.

UIView动画

CoreSpotlight应用内搜索