您的位置:首页 > 产品设计 > UI/UE

iPhone How-to:图片的灰度处理

2011-04-11 16:34 183 查看
表示点击无效或者用户离线的情况下通常会使用一些灰度图片。在iPhone中如何将普通图片转换成相应的灰度图像呢?下面这段代码给出了答案。

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;
}

其中,CGColorSpaceCreateDeviceGray会创建一个设备相关的灰度颜色空间的引用。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息