改变图片的饱和度、亮度、对比度
2016-01-04 15:51
435 查看
- (void)viewDidLoad {
[super viewDidLoad];
UIImage *image = [UIImage imageNamed:@"默认@2x"];
CIImage *beginImage = [CIImage imageWithCGImage:image.CGImage];
CIFilter *filter = [CIFilter filterWithName:@"CIColorControls"];
[filter setValue:beginImage forKey:kCIInputImageKey];
//饱和度 0 -- 2
[filter setValue:[NSNumber numberWithFloat:0.5] forKey:@"inputSaturation"];
//亮度 -1 --- 1
[filter setValue:[NSNumber numberWithFloat:0.5] forKey:@"inputBrightness"];
//对比度 0 --- 4
[filter setValue:[NSNumber numberWithFloat:2] forKey:@"inputContrast"];
//得到过滤后的图片
CIImage *outputImage = [filter outputImage];
//转换图片,创建基于GPU的CIContext对象
CIContext *context = [CIContext contextWithOptions:nil];
CGImageRef cgimg = [context createCGImage:outputImage fromRect:[outputImage extent]];
UIImage *newImg = [UIImage imageWithCGImage:cgimg];
// float value = [UIScreen mainScreen].brightness;
//// NSLog(@"获取手机屏幕亮度%f",value);
// [[UIScreen mainScreen] setBrightness:0.7];
// NSLog(@"获取手机屏幕亮度%f",value);
UIImageView *imageView = [[UIImageView alloc] initWithFrame:CGRectMake(0, 20, self.view.frame.size.width, 170)];
[self.view addSubview:imageView];
imageView.image = newImg;
}
- (void) imageBrighter{
NSArray *cifilter = [CIFilter filterNamesInCategory:kCICategoryBuiltIn];
NSLog(@"FilterName:\n%@,,,===%ld", cifilter,cifilter.count);//显示所有过滤器名字
for (NSString *filterName in cifilter) {
CIFilter *fltr = [CIFilter filterWithName:filterName];//用一个过滤器名字生成一个过滤器CIFilter对象
NSLog(@"%@:\n%@", filterName, [fltr attributes]);//这个过滤器支持的属性
}
}
[super viewDidLoad];
UIImage *image = [UIImage imageNamed:@"默认@2x"];
CIImage *beginImage = [CIImage imageWithCGImage:image.CGImage];
CIFilter *filter = [CIFilter filterWithName:@"CIColorControls"];
[filter setValue:beginImage forKey:kCIInputImageKey];
//饱和度 0 -- 2
[filter setValue:[NSNumber numberWithFloat:0.5] forKey:@"inputSaturation"];
//亮度 -1 --- 1
[filter setValue:[NSNumber numberWithFloat:0.5] forKey:@"inputBrightness"];
//对比度 0 --- 4
[filter setValue:[NSNumber numberWithFloat:2] forKey:@"inputContrast"];
//得到过滤后的图片
CIImage *outputImage = [filter outputImage];
//转换图片,创建基于GPU的CIContext对象
CIContext *context = [CIContext contextWithOptions:nil];
CGImageRef cgimg = [context createCGImage:outputImage fromRect:[outputImage extent]];
UIImage *newImg = [UIImage imageWithCGImage:cgimg];
// float value = [UIScreen mainScreen].brightness;
//// NSLog(@"获取手机屏幕亮度%f",value);
// [[UIScreen mainScreen] setBrightness:0.7];
// NSLog(@"获取手机屏幕亮度%f",value);
UIImageView *imageView = [[UIImageView alloc] initWithFrame:CGRectMake(0, 20, self.view.frame.size.width, 170)];
[self.view addSubview:imageView];
imageView.image = newImg;
}
- (void) imageBrighter{
NSArray *cifilter = [CIFilter filterNamesInCategory:kCICategoryBuiltIn];
NSLog(@"FilterName:\n%@,,,===%ld", cifilter,cifilter.count);//显示所有过滤器名字
for (NSString *filterName in cifilter) {
CIFilter *fltr = [CIFilter filterWithName:filterName];//用一个过滤器名字生成一个过滤器CIFilter对象
NSLog(@"%@:\n%@", filterName, [fltr attributes]);//这个过滤器支持的属性
}
}
相关文章推荐
- UI基础-UITableViewHeaderFooterView组标题数据不加载,好友列表只能点击不能打开
- Android Studio把代码注释提出成为文档
- C++文件读写详解(ofstream,ifstream,fstream)
- 四大内置对象
- 聚类算法:K均值
- GetWindowRect、GetClientRect、ScreenToClient、ClientToScreen的区别
- 数据库
- 使用Jmeter测试MySQL性能——(1)连接配置
- webapi中的扩展点
- vnc server配置
- DATABASE 12C 新功能rman RECOVER TABLE
- ubuntu下如何增加环境变量
- spark sql on hive初探
- SQL stuff求集合
- java.lang.ClassFormatError
- androidstudio学习之拆分项目v2ex Preference 、CkeckBoxPrefrence应用
- json数据转化为对应的对象
- Oracle 的 rownum
- OpenCV图像处理中的性能测试(持续更新)
- Mac下上传项目到Github