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

Core ?Image

开始撸代码之前我们先来看一下实现的效果: iOS开发-图片高斯模糊效果 iOS5.0之后就出现了Core Image的API,Core Image的API被放在CoreImage.framework库中,在iOS和OS X平台上,Core Image都提供了大量的滤镜(Filter),在OS X上有120多种Filter,而在iOS上也有90多。首先我们扩展一下UIImage,添加类方法:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
+(UIImage *)coreBlurImage:(UIImage *)image
???????????withBlurNumber:(CGFloat)blur {
????//博客园-FlyElephant
????CIContext *context = [CIContext contextWithOptions:nil];
????CIImage? *inputImage=[CIImage imageWithCGImage:image.CGImage];
????//设置filter
????CIFilter *filter = [CIFilter filterWithName:@"CIGaussianBlur"];
????[filter setValue:inputImage forKey:kCIInputImageKey];
????[filter setValue:@(blur) forKey:?@"inputRadius"];
????//模糊图片
????CIImage *result=[filter valueForKey:kCIOutputImageKey];
????CGImageRef outImage=[context createCGImage:result fromRect:[result extent]];
????UIImage *blurImage=[UIImage imageWithCGImage:outImage];
????CGImageRelease(outImage);
'); (window.slotbydup=window.slotbydup || []).push({ id: '5997750', container: s, size: '910,100', display: 'inlay-fix' }); })();
关于我们 - 广告合作 - 联系我们 - 免责声明 - 网站地图 - 投诉建议 - 在线投稿
严禁网站镜像,否则追究法律责任 CopyRight © 2015-2018 诺心网络 All Rights Reserved.
地址:杭州拱墅区祥园路38号浙报理想祥园创意园东区A319
电话:18958065710 微信:Evtailun 邮箱:476565345@qq.com
网站备案号:浙ICP备15017827号-1