我正在使用摄像头在IOS应用程序中拍照。它起作用了,我唯一的问题是当我试图弄清楚用户在拍照时是如何拿着设备的。
如果我能以正确的方式显示图像,而不是倒转或旋转90度,那就好多了。
寻找解决方案使我认识到,我应该使用imageOrientation of UIImage,但实际上:
theImage.imageOrientation is always equal to UIImageOrientationUp
我遗漏了什么?
我做了各种各样的研究和实验,但没有什么改变。我现在没有显示更多的代码,因为简单的原因,我不知道应该显示哪个部分来帮助查找问题。
发布于 2014-04-24 08:16:02
因为我能自己找到解决办法。我把它放在这里,以防对别人有用。
查看保存的映像上的"imageOrientation“字段的值(就像我所做的那样),实际上,由于某种原因,总是以UIImageOrientationUp的形式出现。另一方面,在imagePickerController:didFinishPickingMediaWithInfo:中观察它更有意义。
经过更多的研究和试验,我最终得到了这样一种方法:
- (void)imagePickerController:(UIImagePickerController *)picker
didFinishPickingMediaWithInfo:(NSDictionary *)info
{
……
UIImage *image = [info objectForKey:UIImagePickerControllerEditedImage];
……
if ((image.imageOrientation==UIImageOrientationLeft)||
(image.imageOrientation==UIImageOrientationRight)||
(image.imageOrientation==UIImageOrientationDown)) {
UIGraphicsBeginImageContext(image.size);
[image drawAtPoint:CGPointMake(0.0, 0.0)];
image=UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
}
NSData *mediaData = UIImagePNGRepresentation(image);
……
}
然后,当我想在我的应用程序中使用它时,我的图片显示了正确的方向。
https://stackoverflow.com/questions/23243630
复制相似问题