title: I rotate image upside down but how to flip it horizontally
body: <p>i load image from camera roll, but this image is upside down. so i wrote method to rotate it.</p>
  
  <pre><code>CGImageRef imageRef = [image CGImage];
  
  float width = CGImageGetWidth(imageRef);
  float height = CGImageGetHeight(imageRef);
  CGColorSpaceRef colorSpace = CGColorSpaceCreateDeviceRGB();
  Byte *rawData = malloc(height * width * 4);
  Byte bytesPerPixel = 4;
  int bytesPerRow = bytesPerPixel * width;
  Byte bitsPerComponent = 8;
  CGContextRef context = CGBitmapContextCreate(rawData, width, height, bitsPerComponent, bytesPerRow, colorSpace, kCGImageAlphaPremultipliedLast | kCGBitmapByteOrder32Big);
  CGColorSpaceRelease(colorSpace);
  int byteIndex = 0;
  CGContextDrawImage(context, CGRectMake(0, 0, width, height), imageRef);
  
  Byte *rawData2 = malloc(height * width * 4);
  
  for (int i = 0 ; i &lt; width * height ; i++) {
      int index = (width * height) * 4;
      rawData2[byteIndex + 0] = rawData[index - byteIndex + 0];
      rawData2[byteIndex + 1] = rawData[index - byteIndex + 1];
      rawData2[byteIndex + 2] = rawData[index - byteIndex + 2];
      rawData2[byteIndex + 3] = rawData[index - byteIndex + 3];
  
      byteIndex += 4;
  }
  
  CGContextRef ctx = CGBitmapContextCreate(rawData2, CGImageGetWidth( imageRef ), CGImageGetHeight( imageRef ), 8, CGImageGetBytesPerRow( imageRef ), CGImageGetColorSpace( imageRef ),kCGImageAlphaPremultipliedLast );
  
  imageRef = CGBitmapContextCreateImage (ctx);
  image = [UIImage imageWithCGImage:imageRef];
  
  CGContextRelease(context);
  
  return image;
  </code></pre>
  
  <p>it's ok, but now i must flip it horizontally, and i don't know how can i do this. i try to do this second day. </p>
  
  <p>thank you for help</p>