Skip to content

Instantly share code, notes, and snippets.

@ivzhao
Created March 3, 2010 16:10
Show Gist options
  • Save ivzhao/320705 to your computer and use it in GitHub Desktop.
Save ivzhao/320705 to your computer and use it in GitHub Desktop.
UIImage *createGrayCopy(UIImage *source)
{
int width = source.size.width;
int height = source.size.height;
CGColorSpaceRef colorSpace = CGColorSpaceCreateDeviceGray();
CGContextRef context = CGBitmapContextCreate (nil,
width,
height,
8, // bits per component
0,
colorSpace,
kCGImageAlphaNone);
CGColorSpaceRelease(colorSpace);
if (context == NULL) {
return nil;
}
CGContextDrawImage(context,
CGRectMake(0, 0, width, height), source.CGImage);
UIImage *grayImage = [UIImage imageWithCGImage:CGBitmapContextCreateImage(context)];
CGContextRelease(context);
return grayImage;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment