从相机拍照后 UIImageView 旋转

Posted

技术标签:

【中文标题】从相机拍照后 UIImageView 旋转【英文标题】:UIImageView is rotated after taking picture from camera 【发布时间】:2013-03-01 21:46:26 【问题描述】:

我在 iPad 应用程序中看到了一些奇怪的行为。我有一个 UIImageView,我正在从相机中捕捉。在纵向模式下,当我响应 didFinishPickingMediaWithInfo 事件时,它会正确显示在 UIImageView 中。但是,当我稍后返回 UIIMageView 以重新显示保存的照片时,它会自动将图像旋转 90 度。旋转设备继续显示旋转 90 度的图像。

有没有办法确定拍摄图像时使用的方向,是否应该使用该方法重新显示图像?

任何帮助将不胜感激。我进行了搜索,但找不到与此相关的任何内容。

【问题讨论】:

请发布您用于保存照片并重新显示照片的代码,以便我们知道您的问题可能出在哪里...... 尝试使用 iPod 以不同的方向(如纵向倒置)拍照,看看这对行为有何影响。查看您从保存的图像创建的 UIImage 的 imageOrientation 属性。我相信您会发现图像是存储旋转的。如果您要发布如何保存然后获取图像(例如,它们是沙箱中的文件还是照片库中的 ALAsset?),那么也许有人可以提供更多关于旋转它们的帮助。 方向信息可以存储在图像的 EXIF 数据中 - UIImageView 将尝试尊重这一点。这个帖子很好地解决了这个问题:***.com/questions/5427656/… 【参考方案1】:

我已经准备好了。

的回复

ios UIImagePickerController result image orientation after upload

为我工作。捕获图像后,我立即根据此线程上的代码示例检查旋转并根据需要进行调整。

感谢所有回复!

【讨论】:

【参考方案2】:

试试这个: 将此添加到 viewWillAppear 或您想要的任何位置:

[self updateLayoutForNewOrientation: self.interfaceOrientation];

并添加此方法:

- (void) updateLayoutForNewOrientation: (UIInterfaceOrientation) orientation 
if (UIInterfaceOrientationIsLandscape(orientation)) 
// do something
     else 
//do something
   

【讨论】:

你明白这个问题了吗? 如果您要对某个答案投反对票,不妨提出更具建设性的批评意见。

以上是关于从相机拍照后 UIImageView 旋转的主要内容,如果未能解决你的问题,请参考以下文章

如何以全分辨率从 UIImageView 获取旋转、缩放和平移的图像?

Android相机拍照方向旋转的解决方案:ExifInterface

Android相机拍照方向旋转的解决方案:ExifInterface

用相机拍照将asset.fullScreenImage旋转90度?

如何实现 Android 相机以任何屏幕方向拍照?

用相机意图拍照以肖像模式android旋转图片