--- a/cocoaTouch/otherSrc/UIImageExtra.m Sat May 15 09:21:25 2010 +0000
+++ b/cocoaTouch/otherSrc/UIImageExtra.m Sun May 16 17:23:30 2010 +0000
@@ -77,5 +77,34 @@
return nil;
}
}
+
+-(UIImage *)convertImageToGrayScale:(UIImage *)image {
+ // Create image rectangle with current image width/height
+ CGRect imageRect = CGRectMake(0, 0, image.size.width, image.size.height);
+
+ // Grayscale color space
+ CGColorSpaceRef colorSpace = CGColorSpaceCreateDeviceGray();
+
+ // Create bitmap content with current image size and grayscale colorspace
+ CGContextRef context = CGBitmapContextCreate(nil, image.size.width, image.size.height, 8, 0, colorSpace, kCGImageAlphaNone);
+
+ // Draw image into current context, with specified rectangle
+ // using previously defined context (with grayscale colorspace)
+ CGContextDrawImage(context, imageRect, [image CGImage]);
+
+ // Create bitmap image info from pixel data in current context
+ CGImageRef imageRef = CGBitmapContextCreateImage(context);
+
+ // Create a new UIImage object
+ UIImage *newImage = [UIImage imageWithCGImage:imageRef];
+
+ // Release colorspace, context and bitmap information
+ CGColorSpaceRelease(colorSpace);
+ CGContextRelease(context);
+ CFRelease(imageRef);
+
+ // Return the new grayscale image
+ return newImage;
+}
@end