Core Image CIColorControls brightness filter creates wrong effect. How do I change my image's luminance?

前端 未结 3 1332
半阙折子戏
半阙折子戏 2020-12-24 14:48

I\'m creating a color picker for iOS. I would like to enable the user to select the brightness (luminance) and have the color wheel reflect this change. I\'m using Core Imag

3条回答
  •  长发绾君心
    2020-12-24 15:27

    Try this and change value using a slider:-

    - (void)viewDidLoad{
    
       UIImage *aUIImage = showPickedImageView.image;
       CGImageRef aCGImage = aUIImage.CGImage;
       aCIImage = [CIImage imageWithCGImage:aCGImage];
    
    
       context = [[CIContext contextWithOptions:nil] retain];
       brightnessFilter = [[CIFilter filterWithName:@"CIColorControls" keysAndValues: @"inputImage", aCIImage, nil] retain];
    
    }
    
    - (IBAction)brightnessSliderValueChanged:(id)sender {
    
        [brightnessFilter setValue:[NSNumber numberWithFloat:brightnessSlider.value ] forKey: @"inputBrightness"];
        outputImage = [brightnessFilter outputImage];
        CGImageRef cgiig = [context createCGImage:outputImage fromRect:[outputImage extent]];
        newUIImage = [UIImage imageWithCGImage:cgiig];
        CGImageRelease(cgiig);
        [showPickedImageView setImage:newUIImage];
    }
    

提交回复
热议问题