这是我的代码:
CGRect rect = CGRectMake(size.width / 4, size.height / 4 ,
size.width / 2, size.width / 2);
CGImageRef imageRef = CGImageCreateWithImageInRect([[picture objectForKey:UIImagePickerControllerOriginalImage] CGImage], rect);
UIImage *img = [UIImage imageWithCGImage:imageRef];
CGImageRelease(imageRef);
但图像会旋转。
我该如何解决?
答案 0 :(得分:0)
返回原始图像UIImagePickerControllerOriginalImage。
简单的方法是使用UIImagePickerControllerEditedImage
,但在您设置ImagePicker以允许编辑之前。
答案 1 :(得分:0)
原因: 每个UIImage都有一个方向,默认为UIImageOrientationUp。但是用相机拍摄的图像的方向([picture objectForKey:UIImagePickerControllerOriginalImage])并不总是UIImageOrientationUp。 所以,如果您只是使用[UIImage imageWithCGImage:]复制图像,您将丢失方向信息。 使用[UIImage imageWithCGImage:scale:orientation:]代替。
F.Y.I http://developer.apple.com/library/ios/#documentation/uikit/reference/UIImage_Class/Reference/Reference.html#Constants 在Constants Section中,Docset为每个UIImageOrientation提供了一个示例图像。