title: iOS - Invert a UIImage with button
body: <p>I have a simple application where I can take an photo or choose and existing photo on the camera roll and then display the image in a UIImageView. I want to have a button that you can press and invert the picked image and then display that in the camera roll. My question is, how do invert the colors of a UIImage and then use the new inverted one to display in the ImageView? I have seen other posts related to this but none explain how implement the code. I'm fairly new to xcode and would appreciate all feedback.</p>
  
  <p>Here is my .m file for the view controller: </p>
  
  <pre><code>#import "ViewController.h"
  
  @interface ViewController ()
  
  @end
  
  @implementation ViewController
  
  @synthesize imageView;
  - (void)viewDidLoad
  {
      [super viewDidLoad];
      // Do any additional setup after loading the view, typically from a nib.
  }
  
  - (void)didReceiveMemoryWarning
  {
      [super didReceiveMemoryWarning];
      // Dispose of any resources that can be recreated.
  }
  
  -(IBAction)takePhoto {
      picker1 = [[UIImagePickerController alloc] init];
      picker1.delegate = self;
      [picker1 setSourceType:UIImagePickerControllerSourceTypeCamera];
      [self presentViewController:picker1 animated:YES completion:nil];
  
  }
  
  -(IBAction)ChooseExisting {
  
      picker2 = [[UIImagePickerController alloc] init];
      picker2.delegate = self;
      [picker2 setSourceType:UIImagePickerControllerSourceTypePhotoLibrary];
      [self presentViewController:picker2 animated:YES completion:nil];
  
  }
  
  -(IBAction)invertImage {
  
  }
  
  -(void) imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info {
      imageFinal = [info objectForKey:UIImagePickerControllerOriginalImage];
      [imageView setImage:imageFinal];
      [self dismissViewControllerAnimated:YES completion:nil];
  
  }
  
  -(void)imagePickerControllerDidCancel:(UIImagePickerController *)picker {
  
      [self dismissViewControllerAnimated:YES completion:nil];
  }
  
  @end
  </code></pre>