vani lucky
vani lucky

Reputation: 191

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

Hi i am using GPUImagefilters for applying brightness on image.But it does not work.i could not find that problem where it is.my code is like this

- (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 = ;

}

if its not possible to get GPUImagefilters tell me any other way.I tried in more ways but it does not work so please anybody suggest me how to do this.any help is appreciated.

Upvotes: 1

Views: 796

Answers (2)

krushnsinh
krushnsinh

Reputation: 864

try these

-(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;

}

Upvotes: 2

LoVo
LoVo

Reputation: 2083

- (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];
}

to make it darker than default you have to pass negative values.

Upvotes: 0

Related Questions