做了iOS 的模糊效果 在网上搜了搜 大概三种方法
1 用coreImage实现
CoreImage是iOS 的一个核心库 其中里面有滤镜效果 就以此来实现 iOS 中有90多重滤镜效果 os中有120多种 感觉自己还是菜的没有边际。。。
实例代码:
CIContext *context = [CIContext contextWithOptions:nil];
CIImage *image = [CIImage imageWithContentsOfURL:imageURL];
CIFilter *filter = [CIFilter filterWithName:@
"CIGaussianBlur"
];
[filter setValue:image forKey:kCIInputImageKey];
[filter setValue:@2.0f forKey: @
"inputRadius"
];
CIImage *result = [filter valueForKey:kCIOutputImageKey];
CGImageRef outImage = [context createCGImage: result fromRect:[result extent]];
UIImage * blurImage = [UIImage imageWithCGImage:outImage];
2 用第三方实现GPUImage 里面也有好多滤镜效果
GPUImageGaussianBlurFilter * blurFilter = [[GPUImageGaussianBlurFilter alloc] init];
blurFilter.blurRadiusInPixels = 2.0;
UIImage * image = [UIImage imageNamed:@
"xxx"
];
UIImage *blurredImage = [blurFilter imageByFil
3 借助vImage 实现网上说是性能做好的 目前使用的这个
vImage 在Accelerate.framework中 而accelerate 这个framework主要是用来做数字信号处理,图像相关的向量,矩阵运算的库。
UIImage+ImageEffects这个是网上已经存在的用vImage实现迷糊效果的库。