2012-06-09 102 views
0

我需要調整我的CoreGraphics/Quartz的手段的對比度和亮度。如何調整亮度和對比度CGImageRef

任何想法如何做到這一點?

石英指揮和在線搜索沒有給出很多結果。

請不要參考OpenGL解決方案。

回答

0

下載此示例代碼link of code這將幫助你。它有許多種圖像效果...並讓我知道如果您有任何關於如何使用它的疑問....我會幫助你。

謝謝!

+0

正如我通過研究鏈接代碼得到的,它確實使用了OpenGL下面的東西,我知道它是正確的嗎? – deimus

+0

沒有關於openGL,它通常會給圖像和視頻帶來效果... – TheTiger

+0

我在GPUImageBrightnessFilter.m文件中發現了GPUImageBrightnessFilter實現,它確實在那裏使用OpenGL的東西,即着色器等。 – deimus

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;   
      }); 
     }); 
相關問題