IOS 图片模糊处理 ------ 直接代码 复制出去就可用 值得标记
1.
UIImage *imag = [UIImage imageNamed:@"img"];
/* --------------------使用 coreImg --------------------------- */
// CIImage
CIImage *ciimg = [[CIImage alloc] initWithImage:imag];
// CIFilter
CIFilter *blurFilter = [CIFilter filterWithName:@"CIGaussianBlur"];
// 可以输出设置的模糊的程度
NSLog(@"%@",[blurFilter attributes]);
// 根据上一步可以设置模糊程度
[blurFilter setValue:@(50) forKey:@"inputRadius"];
// 图片输入滤镜
[blurFilter setValue:ciimg forKey:kCIInputImageKey];
// 将推片输出
CIImage *outPutImg = [blurFilter valueForKey:kCIOutputImageKey];
// CIContext
CIContext * context = [CIContext contextWithOptions:nil];
// 获取CGImage句柄
CGImageRef outImgRef = [context createCGImage:outPutImg fromRect:[outPutImg extent]];
// h获取到最后的图片
UIImage *blurImg = [UIImage imageWithCGImage:outImgRef];
// 释放句柄
CGImageRelease(outImgRef);
// 最后得到模糊的图片 blurImg
第二种
/* ___________________ UIImage+ImageEffects.h ________________________________ */
UIImage *sourImg = [UIImage imageNamed:@"img"];
UIImage *blurImg = [sourImg blurImageWithRadius:30];
第三种 UIVisualEffectView
UIScrollView *sc = [[UIScrollView alloc] initWithFrame:self.view.bounds];
UIImageView *imgView = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, 600, 500)];
imgView.image = imag;
[sc addSubview:imgView];
sc.contentSize = imgView.bounds.size;
[self.view addSubview:sc];
UIVisualEffectView *effectView = [[UIVisualEffectView alloc] initWithEffect:[UIBlurEffect effectWithStyle:UIBlurEffectStyleExtraLight]];
effectView.frame = CGRectMake(0, 200, 400, 200);
[self.view addSubview:effectView];
UILabel *lable = [[UILabel alloc] initWithFrame:effectView.bounds];
lable.text = @"模糊背景";
lable.font = [UIFont systemFontOfSize:50];
lable.textAlignment = NSTextAlignmentCenter;
// 添加模糊的子effictView 使用的是 -- UIVibrancyEffect 且需要和父类保持一致
UIVisualEffectView *subEffectView = [[UIVisualEffectView alloc] initWithEffect:[UIVibrancyEffect effectForBlurEffect:(UIBlurEffect *)effectView.effect]];
subEffectView.frame = effectView.bounds;
// 将子模糊View 添加到EffectView 的contenctView 才能有效果
[effectView.contentView addSubview:subEffectView];
[subEffectView.contentView addSubview:lable];
IOS 图片模糊处理 ------ 直接代码 复制出去就可用 值得标记的更多相关文章
- ios图片轮播效果
代码地址如下:http://www.demodashi.com/demo/11959.html ImageCarousel 简单封装的图片轮播器 内存过大由于我加载的图片分辨率较高(4k) 文件目录 ...
- iOS 图片部分模糊,类似于美图秀秀
代码地址如下:http://www.demodashi.com/demo/14277.html 演示效果 演示效果 代码结构 项目结构截图如下: 该模块的核心源码部分为 MBPartBlurView, ...
- wps 图片代码 复制 粘贴
<table><tr><td><img src="C:\Users\Administrator\Desktop\QQ截图20160921180946 ...
- 实现iOS图片等资源文件的热更新化(三):动态的资源文件夹
简介 此文,将尝试动态从某个不确定的文件夹中加载资源文件.文章,会继续完善自定义的 imageNamed 函数,并为下一篇文章铺垫. 这么做的意义 正如我们经常所说的那样,大多数情景知道做事的意义往往 ...
- 大屏iPhone的适配 +iOS 图片尺寸要求
摘自:http://blog.ibireme.com/2014/09/16/adapted_to_iphone6/ 苹果公司官网设计介绍到:Retina显示屏的超高像素密度已超过人眼能分辨的范围.Re ...
- iOS 图片背景模糊效果
iOS 图片背景模糊效果 1.使用CoreImage中的模糊滤镜 原始效果图如下: CoreImage的实现: - (void)viewDidLoad { [super viewDidLoad]; / ...
- iOS 图片压缩方法
iOS 图片压缩方法 两种图片压缩方法 两种压缩图片的方法:压缩图片质量(Quality),压缩图片尺寸(Size). 压缩图片质量 NSData *data = UIImageJPEGReprese ...
- css3图片模糊过滤效果
css3图片过滤效果,鼠标放上后其它图片模糊,鼠标所在位置的图片是清淅的,有效索引出当前的图片,对图片的模糊处理是本特效的亮点,你完全可以将模糊的效果应用于其它的图片特效中,你同样也可借此代码研究一下 ...
- jquery mobile上传图片完整例子(包含ios图片横向问题处理和C#后台图片压缩)
上传图片本身是个基本的小功能,但是到了移动端就不那么简单了,相信找到这篇文章的你一定有深深的同感. 本文实例是:在(移动端)页面中点击图片,然后选择文件,然后保存.使用Asp.net 难点一:后台获取 ...
随机推荐
- Swift 字符串连接
// 使用+直接相加 var i = var str = "Hello" str = str + " jinpangpang" // 可以使用这种方式连接整值 ...
- .NET MVC通过反射获取数据修改历史记录,并插入数据表中
本文属于原创,转载时请标明出处! 折磨了我一个晚上的问题,奈何对物理的反射印象太深了,整天去想着物理的反射.折射怎么解.感谢少将哥哥给我的指点,经过一个晚上对反射的恶补,最终搞定了.纪念一下. 1.核 ...
- canvas ---1
Canvas1 (关键词:canvas) canvas :就是html5中提供的一个标签,只是用来展示绘图的内容 canvas 标签的默认宽高:300*150 如果给canvas来设置高度和宽度 ...
- HibernateTemplate常用方法总结
HibernateTemplate常用方法 (本文章内容相当于转载自:http://www.tuicool.com/articles/fU7FV3,只是整理了一下内容结构和修改了部分内容,方便阅读) ...
- HTML5 Canvas基础知识
HTML5画布 1.创建一个画布 <canvas id="myCanvas" width="200" height="100&q ...
- HTML5屏幕适配标签设置
开发HTML5游戏中,我们常用的一些mata标签: <meta name="viewport" content="width=device-width, initi ...
- 从一个PHP数据生成 CSV 文件
这的确是一个很简单的功能,从一个PHP数组生成一个.csv文件.此函数使用 fputcsv PHP 内置函数 <? function generateCsv($data, $delimiter ...
- 使用Azure云存储构建高速 Docker registry
使用Azure云存储构建高速 Docker registry 使用Docker来构建应用程序最常见的操作就是 docker run 或者 docker pull了,但是由于众所周知的原因,在国内想要高 ...
- PYTHON线程知识再研习G--线程间通信Event
很多时候,线程之间会有互相通信的需要.常见的情形是次要线程为主要线程执行特定的任务,在执行过程中需要不断报告执行的进度情况.前面的条件变量同步已经涉及到了线程间的通信(threading.Condit ...
- Borland license information was found,but it is not valid for delphi.
The start Delphi7 come amiss: Borland license information was found,but it is not valid for delphi. ...