Сделать изображение черно-белым? - PullRequest
3 голосов
/ 19 августа 2010

У меня есть другой вопрос о кварце 2d (iphone):

Как изменить все цвета ImageView на черно-белый и оставить только красный ???

DD

1 Ответ

15 голосов
/ 20 августа 2010
UIImage *originalImage = [info objectForKey:UIImagePickerControllerOriginalImage];  this image we get from UIImagePickerController

    CGColorSpaceRef colorSapce = CGColorSpaceCreateDeviceGray();
    CGContextRef context = CGBitmapContextCreate(nil, originalImage.size.width, originalImage.size.height, 8, originalImage.size.width, colorSapce, kCGImageAlphaNone);
    CGContextSetInterpolationQuality(context, kCGInterpolationHigh);
    CGContextSetShouldAntialias(context, NO);
    CGContextDrawImage(context, CGRectMake(0, 0, originalImage.size.width, originalImage.size.height), [originalImage CGImage]);

    CGImageRef bwImage = CGBitmapContextCreateImage(context);
    CGContextRelease(context);
    CGColorSpaceRelease(colorSapce);

    UIImage *resultImage = [UIImage imageWithCGImage:bwImage]; // This is result B/W image.
    CGImageRelease(bwImage);

Это то, что я нашел на других форумах, и это похоже на работу !!!

...