我正在使用 Core Image,并希望在所选图像上产生黑白效果。
理想情况下,我希望能够访问 Photoshop 上提供的相同类型的选项,即红色、青色、绿色、蓝色和洋红色。目标是创建不同类型的黑白效果。
有谁知道什么过滤器最适合操纵这些选项?如果没有,有人知道使用其他滤镜创建黑白效果的好方法吗?
谢谢
奥利弗
最佳答案
- (UIImage *)imageBlackAndWhite
{
CIImage *beginImage = [CIImage imageWithCGImage:self.CGImage];
CIImage *blackAndWhite = [CIFilter filterWithName:@"CIColorControls" keysAndValues:kCIInputImageKey, beginImage, @"inputBrightness", [NSNumber numberWithFloat:0.0], @"inputContrast", [NSNumber numberWithFloat:1.1], @"inputSaturation", [NSNumber numberWithFloat:0.0], nil].outputImage;
CIImage *output = [CIFilter filterWithName:@"CIExposureAdjust" keysAndValues:kCIInputImageKey, blackAndWhite, @"inputEV", [NSNumber numberWithFloat:0.7], nil].outputImage;
CIContext *context = [CIContext contextWithOptions:nil];
CGImageRef cgiimage = [context createCGImage:output fromRect:output.extent];
//UIImage *newImage = [UIImage imageWithCGImage:cgiimage];
UIImage *newImage = [UIImage imageWithCGImage:cgiimage scale:image.scale orientation:image.imageOrientation];
CGImageRelease(cgiimage);
return newImage;
}
更新:对于iOS6
,有CIColorMonochrome
过滤器,但我使用它并发现它不如我的好。
关于cocoa - 产生黑白效果的最佳 Core Image 滤镜是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10030631/