我需要調整我的CoreGraphics/Quartz的手段的對比度和亮度。如何調整亮度和對比度CGImageRef
任何想法如何做到這一點?
石英指揮和在線搜索沒有給出很多結果。
請不要參考OpenGL解決方案。
我需要調整我的CoreGraphics/Quartz的手段的對比度和亮度。如何調整亮度和對比度CGImageRef
任何想法如何做到這一點?
石英指揮和在線搜索沒有給出很多結果。
請不要參考OpenGL解決方案。
你想要Core Image。您的目的過濾器是CIColorControls。
下載此示例代碼link of code這將幫助你。它有許多種圖像效果...並讓我知道如果您有任何關於如何使用它的疑問....我會幫助你。
謝謝!
如果你想改善你可以使用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;
});
});
正如我通過研究鏈接代碼得到的,它確實使用了OpenGL下面的東西,我知道它是正確的嗎? – deimus
沒有關於openGL,它通常會給圖像和視頻帶來效果... – TheTiger
我在GPUImageBrightnessFilter.m文件中發現了GPUImageBrightnessFilter實現,它確實在那裏使用OpenGL的東西,即着色器等。 – deimus