如何在 iOS 中移动滑块时在图像上应用亮度、对比度、伽玛?

how to apply brightness ,contrast ,gamma on image while moving slider in iOS?

您好,我正在使用 GPUImagefilters 在 image.But 上应用亮度,它不会 work.i 找不到问题 is.my 代码是这样的

- (void)viewDidLoad
{
self.slider.hidden=YES;
slider.minimumValue = 0.0;
slider.maximumValue = 1.0;
slider.value = 0.1;
}
- (IBAction)brightnessClicked:(id)sender
{
self.slider.hidden=NO;

}
- (IBAction)sliderMoved:(id)sender
{

image_p=[[GPUImagePicture alloc]initWithImage:image3];

GPUImageBrightnessFilter *filter1 = [[GPUImageBrightnessFilter alloc] init];

[image_p addTarget:filter1];

[image_p processImage];
[(GPUImageBrightnessFilter *)filter setBrightness:[(UISlider *)sender value]];

//    UIImageWriteToSavedPhotosAlbum([filter1 imageFromCurrentlyProcessedOutput], self, @selector(image:didFinishSavingWithError:contextInfo:), nil);

//self.thirdImgView.image = [image3 brightness:(1+value-0.5)];
//    self.thirdImgView.image = ;

}

如果无法获取 GPUImagefilters,请告诉我任何其他 way.I 尝试了更多方法但它不起作用所以请任何人建议我如何做 this.any 帮助是感激的。

- (UIImage *)getNewImageFromImage:(UIImage *)image withBrightness:(CGFloat)brightnessValue
{
        // pass the image through a brightness filter
        GPUImagePicture *stillImageSource = [[GPUImagePicture alloc] initWithImage:image];

        GPUImageBrightnessFilter *brightnessFilter = [[GPUImageBrightnessFilter alloc] init];
        [brightnessFilter setBrightness:brightnessValue];
        [blurFilter addTarget:brightnessFilter];

        [stillImageSource processImage];
        return [brightnessFilter imageFromCurrentlyProcessedOutputWithOrientation:UIImageOrientationUp];
}

要使其比默认值更暗,您必须传递负值。

试试这些

-(void)viewDidLoad
{        
   [sliderChange setMinimumValue:-0.5];

   [sliderChange setMaximumValue:0.5];

   [sliderChange setValue:0.0];

   brightnessFilter = [[GPUImageBrightnessFilter alloc] init];

}

-(IBAction)upDateSliderValue:(id)sender 
{

   GPUImagePicture *fx_image;

   fx_image = [[GPUImagePicture alloc] initWithImage:originalImage];

   [brightnessFilter setBrightness:self.sliderChange.value];

   [fx_image addTarget:brightnessFilter];

   [fx_image processImage];

   UIImage *final_image = [brightnessFilter imageFromCurrentlyProcessedOutput];

   self.selectedImageView.image = final_image;

}