iOS模糊效果实现

来源:互联网 发布:头像卡通化软件 编辑:程序博客网 时间:2024/05/19 22:55

最近项目中需求,要实现模糊效果,所以来简单研究了一下,记录在此

本篇博文讲了如果使用不同的方法来实现iOS内的模糊效果。
- 使用苹果官方提供的方法来渲染
苹果文档资料
本篇内使用了Image的类别,简单封装了一下

- (UIImage *)imageByApplyingLightEffect;- (UIImage *)imageByApplyingExtraLightEffect;- (UIImage *)imageByApplyingDarkEffect;- (UIImage *)imageByApplyingTintEffectWithColor:(UIColor *)tintColor;- (UIImage*)imageByApplyingBlurToImage:(UIImage*)inputImage withRadius:(CGFloat)blurRadius tintColor:(UIColor *)tintColor saturationDeltaFactor:(CGFloat)saturationDeltaFactor maskImage:(UIImage *)maskImage;
  • 使用vImage来渲染
///使用vImage 来处理模糊的方法- (UIImage *)boxblurWithBlurNumber:(CGFloat)blur;
  • 使用CoreImage
/** 使用CoreImage 来处理模糊的一种方法。 @param rec     生成图片的size @param radius  模糊滤镜半径 */- (UIImage *)blurEffectWithRect:(CGRect)rec inputRadius:(CGFloat)radius;
  • iOS7之后使用navigationBar或者ToolBar来实现遮挡
//模糊的一种效果,iOS7 之后,navigationBar ToolBar自带模糊效果(效果不是很好)(只是提供一个思路,大家可以在要使用的页面直接添加)- (UIImage *)blurWithToolBarMaskView {     UIToolbar *blurMaskView = [[UIToolbar alloc] initWithFrame:CGRectMake(0, 0, kScreenWidth, self.size.height)];    [self addSubview:blurMaskView];}
  • GPUImage,据说是一个非常强大的开源库,(暂未研究,回头研究之后补上)

Github地址

1 0