原文地址:http://bj007.blog.51cto.com/1701577/541525
- UIImage *grayImage(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;
- }