使用原生iOS相机应用拍摄的照片始终是UIImageOrientationUp

时间:2014-05-04 13:23:16

标签: ios iphone uiimage uiimageorientation

我正在努力构建一个使用iPhone拍摄的所有可能图像和视频方向的测试用例。

我使用原生iOS相机应用程序拍摄所有8种可能的方向(向上,向下,向左,向右)但是我正在运行的示例代码似乎都报告图像是

参考代码为printOrientationForName(@“UIImage”, image.imageOrientation); 可在此处找到工作示例sugarso/Orientation

输出在这里

2014-05-04 15:42:39.651 Orientation[10293:60b] ASSET ALAsset - Type:Photo, URLs:assets-library://asset/asset.JPG?id=E819189D-0696-4C94-8046-804CBF1551E8&ext=JPG
2014-05-04 15:42:39.661 Orientation[10293:60b] UIImage UIImageOrientationUp [0]
2014-05-04 15:42:39.663 Orientation[10293:60b] ASSET ALAsset - Type:Photo, URLs:assets-library://asset/asset.JPG?id=19E29D06-96F2-4B35-A0EB-B2A809A02C79&ext=JPG
2014-05-04 15:42:39.665 Orientation[10293:60b] UIImage UIImageOrientationUp [0]
2014-05-04 15:42:39.667 Orientation[10293:60b] ASSET ALAsset - Type:Photo, URLs:assets-library://asset/asset.JPG?id=265261C0-0479-41C4-BFDC-91AD6887A81F&ext=JPG
2014-05-04 15:42:39.668 Orientation[10293:60b] UIImage UIImageOrientationUp [0]
2014-05-04 15:42:39.669 Orientation[10293:60b] ASSET ALAsset - Type:Photo, URLs:assets-library://asset/asset.JPG?id=BE459DAE-0CFD-4D93-8050-5C62D9F5D0F9&ext=JPG
2014-05-04 15:42:39.670 Orientation[10293:60b] UIImage UIImageOrientationUp [0]

如您所见,所有图像都是使用UIImageOrientationUp创建的。我正在检查错误的财产?或者相机应用翻转所有照片?我应该如何使用给定的布局拍照。

1 个答案:

答案 0 :(得分:2)

取决于不同的事情,例如:

  • 如果您不将它们与元数据一起保存在资产库中,稍后打开它们,它们将加载默认方向(UIImageOrintationUp)
  • 如果您将它们保存为png,则图片无法了解其方向
  • 如果使用选择器,委托缓冲区或静止图像加载/拍摄它们,方向会有所不同

我在我的博客上写了这篇文章(Exif pain),也许这有助于检查你的问题