图片的高斯模糊效果

一:常用的是UIVisualEffectView,

是在iOS 8 增加的,让我们可以很方便的做出模糊(毛玻璃)效果。

UIVisualEffectView是一个view,就是对这个view对模糊设置后,把这个view 盖在自己的图片上,

UIVisualEffectView 包含两种特效,一种叫 UIBlurEffect,一种叫 UIVibrancyEffect。他们都是用来模糊的,区别在于 UIBlurEffect 不会对自身这层进行模糊,UIVibrancyEffect 除了模糊,还会透出一点下面内容的颜色,显得更加艳丽。

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

UIBlurEffect有三个参数:

  • UIBlurEffectStyleExtraLight 特别亮

  • UIBlurEffectStyleLight 有点亮

  • UIBlurEffectStyleDark 有点黑

二、对 UIImage 进行模糊

如果要兼容 iOS7,用不了 UIVisualEffectView 怎么办?那就用 CIFilter 滤镜对 UIImage 进行模糊。CIFilter 就像 Gaussian Blur(高斯模糊),是对图片直接进行处理。

-(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]; 就是用来设置模糊半径的。

时间: 2024-10-07 20:50:56

图片的高斯模糊效果的相关文章

iOS开发-图片高斯模糊效果

http://www.cnblogs.com/xiaofeixiang/p/5129074.html iOS开发的时候有的时候需要将图片设置模糊,或者通过点击下拉方法,去除模糊,一切都是为了应用更受用户欢迎,iOS7之后半透明模糊效果得到大范围使用的比较大,现在也可以看到很多应用局部用到了图片模糊效果,关于图片实现高斯模糊效果有三种方式,CoreImage,GPUImage(第三方开源类库)和vImage.GPUImage没怎么用过,本文就讲两种方式Core Image和vImage. Core

Android 实现高斯模糊效果及低版本兼容

Android 实现高斯模糊效果及低版本兼容 Hello,好久不见,好久没写博客了,总结了下原因有三,第一,变懒了:第二,变懒了:第三,还是变懒了:因为任何不更新博客的理由都是借口! 一.效果演示 项目中用到了高斯模糊效果,查阅过一些资料,考虑到性能问题最终还是选择使用Android自带的RenderScript库来实现,关于使用RenderScript来实现高斯模糊网上也有很多类似的方法,大部分都总结的比较乱,此处算是做一个整理吧,供有类似需求的同学参考及学习.           (项目效果

UIVisualEffectView(高斯模糊效果)

///高斯模糊. UIView *tempView = [[UIView alloc] initWithFrame:CGRectMake(100, 100, 100, 100)]; tempView.backgroundColor = [UIColor yellowColor]; [self.view addSubview:tempView]; ///UIBlurEffectStyleExtraLight聚光灯效果.UIBlurEffectStyleLight效果轻.UIBlurEffectSt

Android jni 高斯模糊效果

Android jni 高斯模糊效果 本Demo 通过jni调用C实现高斯模糊效果,提高了实现速度,并和java实现的速度做了比较. 下载地址:http://www.devstore.cn/code/info/451.html 运行截图:

图片高斯模糊效果

为实现一些玻璃蒙版的效果,需要用到高斯算法对图片进行模糊处理,基础算法代码如下 1 public static Bitmap fastblur(Context context, Bitmap sentBitmap, int radius) { 2 3 if (VERSION.SDK_INT > 20) { 4 Bitmap bitmap = sentBitmap.copy(sentBitmap.getConfig(), true); 5 6 final RenderScript rs = Ren

iOS实现图片高斯模糊效果

RT,支持iOS 6.0 and later CIContext *context = [CIContext contextWithOptions:nil]; CIImage *inputImage = [[CIImage alloc] initWithImage:[UIImage imageNamed:@"1.png"]]; // create gaussian blur filter CIFilter *filter = [CIFilter filterWithName:@&quo

css3 filter属性 给图片添加毛玻璃模糊效果

记录下项目中关于图片模糊效果的处理,要求:背景图必须通过img标签传入,而且头像要做成圆形的 示例图片: HTML代码: <div class="introBox">     <!--个人头像-->     <div class="imgShow">         <img class="imgBground" src="resources/images/1.jpg" >   

仿面包旅行个人中心下拉顶部背景放大高斯模糊效果

HeaderView.h // // HeaderView.h // 仿面包旅行个人中心 // // Created by [email protected] on 15/5/14. // Copyright (c) 2015年 wb145230. All rights reserved. // #import <UIKit/UIKit.h> @interface HeaderView : UIView @property(nonatomic, strong) UIScrollView *im

高斯模糊效果

需要实现的效果 视觉设计师都是参照IOS的效果设计的,毕竟人家的效果是业内标杆;而Android要完全实现这种高斯模糊(也叫毛玻璃)效果,资源消耗巨大不说,效果也不是很理想. 效果分析 随着侧边栏划出,模糊的宽度也逐渐增加,直到侧边栏完全展开 模糊图片根据底层背景模糊的,根据底层背景图片动态改变 黑色背景显示在最上面 如何实现? 直接创建一个半透明的模糊层盖在上面?这种方式估计是最好的(不用考虑性能),还不知道UI设计师能不能提供,而且效果很一般. 使用DrawerLayout实现Materia