用户头像的背景为头像的模糊头像时候
2016-01-20 17:38
267 查看
//模糊函数
UIImage *img = [UIImage
imageNamed:@"0"];//输入
CGFloat outputAspectRatio =
SCREEN_WITH/SCREEN_WITH;//输出宽高比
CIFilter *gaussianBlurFilter = [CIFilter
filterWithName:@"CIGaussianBlur"];
[gaussianBlurFilter setDefaults];
CIImage *inputImage = [CIImage
imageWithCGImage:[img CGImage]];
[gaussianBlurFilter setValue:inputImage
forKey:kCIInputImageKey];
[gaussianBlurFilter setValue:@5
forKey:kCIInputRadiusKey];//模糊半径
CIImage *outputImage = [gaussianBlurFilter
outputImage];
CIContext *context = [CIContext
contextWithOptions:nil];
CGSize imageSize = [outputImage
extent].size;
CGSize outputSize =
CGSizeMake(imageSize.width, imageSize.width/outputAspectRatio);
CGImageRef cgimg = [context
createCGImage:outputImage
fromRect:CGRectMake(0,
(imageSize.height - outputSize.height)/2,
outputSize.width,
outputSize.height)];
UIImage *image = [UIImage
imageWithCGImage:cgimg];//输出
CGImageRelease(cgimg);
UIImage *img = [UIImage
imageNamed:@"0"];//输入
CGFloat outputAspectRatio =
SCREEN_WITH/SCREEN_WITH;//输出宽高比
CIFilter *gaussianBlurFilter = [CIFilter
filterWithName:@"CIGaussianBlur"];
[gaussianBlurFilter setDefaults];
CIImage *inputImage = [CIImage
imageWithCGImage:[img CGImage]];
[gaussianBlurFilter setValue:inputImage
forKey:kCIInputImageKey];
[gaussianBlurFilter setValue:@5
forKey:kCIInputRadiusKey];//模糊半径
CIImage *outputImage = [gaussianBlurFilter
outputImage];
CIContext *context = [CIContext
contextWithOptions:nil];
CGSize imageSize = [outputImage
extent].size;
CGSize outputSize =
CGSizeMake(imageSize.width, imageSize.width/outputAspectRatio);
CGImageRef cgimg = [context
createCGImage:outputImage
fromRect:CGRectMake(0,
(imageSize.height - outputSize.height)/2,
outputSize.width,
outputSize.height)];
UIImage *image = [UIImage
imageWithCGImage:cgimg];//输出
CGImageRelease(cgimg);
相关文章推荐
- HTTP协议和web工作原理
- SQLite简单介绍
- 局部变量、全局变量、堆、堆栈、静态和全局
- getFragmentManager与getChildFragmentManager
- centos6.5报错:checking filesystems failed问题处理
- [cocoapods]如何卸载cocoapods
- 手动创建 Label 和 button 的方法
- 老李分享:https协议
- 【转】性能测试注意点
- ios xml解析
- 运算符优先级
- linux/CentOS mysql 无法远程连接解决方法
- 问题记录:关于APP推送消息的问题
- android 把控件放在屏幕任意位置
- 解析Tomcat内部结构和请求过程
- uva 673( c++ STL)
- flash与字符串:微信消息xml字段抽离
- Catch That Cow
- 安卓图片添加背景
- scrollTo与scrollBy用法以及TouchSlop与VelocityTracker解析