我正在使用一种方法将用相机拍摄的图像转换为黑白色。我遇到的问题是,如果照片是以纵向模式拍摄的,在下一个视图中它会旋转和拉伸。但是,如果是以横向拍摄,它就没问题。
只有当我将图像转换为黑白色时才能复制此错误。以下是我使用的方法。
我不能100%确定这个错误是来自转换,但只有在转换时才会发生。哦对了,这是iOS 4。
只有当我将图像转换为黑白色时才能复制此错误。以下是我使用的方法。
我不能100%确定这个错误是来自转换,但只有在转换时才会发生。哦对了,这是iOS 4。
///
- (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;
}
@lessfame