0

我需要调整CGImageRefCoreGraphics/Quartz 的对比度和亮度。

任何想法如何做到这一点?

Quartz Guildeline 和在线搜索没有给出很多结果。

请不要参考OpenGL解决方案。

4

2 回答 2

1

你想要核心图像。用于您的过滤器是CIColorControls

于 2012-06-10T03:02:01.130 回答
0

如果你想改善你可以使用 GCD 的行为,享受吧!

CIContext *ctxt63 = [CIContext contextWithOptions:nil];
        CIFilter *filter63 = [CIFilter filterWithName:@"CIColorControls"];
        [filter63 setDefaults];
        [filter63 setValue:input forKey:kCIInputImageKey];
        [filter63 setValue:@1.8 forKeyPath:kCIInputSaturationKey];
        [filter63 setValue:[NSNumber numberWithFloat:0.8] forKey:@"inputBrightness"];
        [filter63 setValue:[NSNumber numberWithFloat:3.0] forKey:@"inputContrast"];

        CIImage *output63 = [filter63 outputImage];

        //Aplicar el filtro en segundo plano
        dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{

            CGImageRef res63 = [ctxt63 createCGImage:output63 fromRect:[output63 extent]];

            dispatch_async(dispatch_get_main_queue(), ^{                   
                UIImage *img63 = [UIImage imageWithCGImage:res63];
                CGImageRelease(res63);
                self.photoView.image = img63;           
            });
        });
于 2014-12-23T13:22:42.837 回答