得到黑色& iPhone SDK中来自UIImage的白色图像?

时间:2015-07-02 06:04:34

标签: ios objective-c cifilter

我想将图像转换为纯黑色&白色。我试过并得到结果,这是我附加的左图像,结果应该是我根据应用程序的要求附加的正确图像。

我使用了很多 CIFilter CIColorMonochrome,CIColorControls,CIPhotoEffectTonal 等),但这些都没有用。

请检查以下代码和图像的附加结果。

- (UIImage *)imageBlackAndWhite
{
    CIImage   *beginImage = [CIImage imageWithData: UIImageJPEGRepresentation(self.captureImage.image, .1)];

    //CIImage *beginImage = [CIImage imageWithCGImage:self.CGImage];

    CIImage *output = [CIFilter filterWithName:@"CIColorMonochrome" keysAndValues:kCIInputImageKey, beginImage, @"inputIntensity", [NSNumber numberWithFloat:1.0], @"inputColor", [[CIColor alloc] initWithColor:[UIColor whiteColor]], nil].outputImage;

    CIContext *context = [CIContext contextWithOptions:nil];
    CGImageRef cgiimage = [context createCGImage:output fromRect:output.extent];
    UIImage *newImage = [UIImage imageWithCGImage:cgiimage];

    CGImageRelease(cgiimage);

    return newImage;
}

我的结果--------------------------------------------- -预期结果 enter image description here

1 个答案:

答案 0 :(得分:0)

您可以使用具有alpha值的blendmode:kCGBlendModeLuminosity:1.0