UIImage:去色功能的实现(图片灰色显示)

http://www.cocoachina.com/bbs/read.php?tid=178396

-(UIImage *)grayImage:(UIImage *)sourceImage

{

int bitmapInfo = kCGImageAlphaNone;

int width = sourceImage.size.width;

int height = sourceImage.size.height;

CGColorSpaceRef colorSpace = CGColorSpaceCreateDeviceGray();

CGContextRef context = CGBitmapContextCreate (nil,

width,

height,

8,      // bits per component

0,

colorSpace,

bitmapInfo);

CGColorSpaceRelease(colorSpace);

if (context == NULL) {

return nil;

}

CGContextDrawImage(context,

CGRectMake(0, 0, width, height), sourceImage.CGImage);

UIImage *grayImage = [UIImage imageWithCGImage:CGBitmapContextCreateImage(context)];

CGContextRelease(context);

return grayImage;

}

你可能感兴趣的:(UIImage:去色功能的实现(图片灰色显示))