为什么UIWebView上的本地图像变为90度

时间:2011-05-27 13:58:28

标签: image ipad uiwebview rotation

我有一个以横向模式设置的应用程序,因为它包含的内容。我想做的其中一件事就是拍一张纸的照片。我将UIImagePickerController呈现为纵向模式,因为它符合纸张大小。在用户拍摄照片后,我将该图像作为背景加载到UIWebView上。我使用webview的原因是因为有时我需要在那里加载.pdf。无论如何,我正在使用CSS设置背景。这是代码......

//img is the path to an image.
myHtml = [NSString stringWithFormat:
                    @"<html><head>"
                    "</head>"
                    "<body><img src='%@'></body></html>", img];

[resume loadHTMLString:myHtml baseURL:baseURL]; 

问题是,当应用程序返回UIWebView时,图像以横向显示。就文本等而言,其他一切都是正常的。是否有某些原因使图像旋转90度以适应或正确?我几乎没有运气就尝试过。

另一件事是我们重新拍摄照片并重新加载webView旧图像仍然存在。

2 个答案:

答案 0 :(得分:0)

如果图像中有方向信息,则需要从exif标题更改图像的方向。确定图片方向是困难的部分,imgs的旋转可以使用css -webkit-transform轻松完成:rotate(-90deg);

答案 1 :(得分:0)

它确实与exif数据有关。虽然使用webkit转换可能只适用于Web视图一次,如果您想稍后使用该图像并使其始终是正确的方向,我将使用此处给出的类别:

http://vocaro.com/trevor/blog/2009/10/12/resize-a-uiimage-the-right-way/

这篇文章很好地解释了旋转发生的确切原因以及代码在“修复”“问题”方面做得很好,这样你就可以利用图像而无需做额外的事情或担心是否它会正确显示(即使UIImageView考虑了方向)。

您可以将其调整为与原来相同的大小,并且应该修复方向问题。