首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >UIImageOrientation/UIImagePickerController

UIImageOrientation/UIImagePickerController
EN

Stack Overflow用户
提问于 2014-04-23 12:00:19
回答 1查看 226关注 0票数 0

我正在使用摄像头在IOS应用程序中拍照。它起作用了,我唯一的问题是当我试图弄清楚用户在拍照时是如何拿着设备的。

如果我能以正确的方式显示图像,而不是倒转或旋转90度,那就好多了。

寻找解决方案使我认识到,我应该使用imageOrientation of UIImage,但实际上:

代码语言:javascript
运行
复制
theImage.imageOrientation is always equal to UIImageOrientationUp

我遗漏了什么?

我做了各种各样的研究和实验,但没有什么改变。我现在没有显示更多的代码,因为简单的原因,我不知道应该显示哪个部分来帮助查找问题。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-04-24 08:16:02

因为我能自己找到解决办法。我把它放在这里,以防对别人有用。

查看保存的映像上的"imageOrientation“字段的值(就像我所做的那样),实际上,由于某种原因,总是以UIImageOrientationUp的形式出现。另一方面,在imagePickerController:didFinishPickingMediaWithInfo:中观察它更有意义。

经过更多的研究和试验,我最终得到了这样一种方法:

代码语言:javascript
运行
复制
- (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);
    ……
}

然后,当我想在我的应用程序中使用它时,我的图片显示了正确的方向。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23243630

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档