为什么在UIWebView上将本地图像旋转90度

问题描述

| 我有一个因为包含的内容而设置为横向模式的应用程序。我想做的一件事情是拍一张纸的照片。我提出了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,保留了旧图像。     

解决方法

        如果图像中有可用的方向信息,则需要从其exif标头更改图像的方向。识别图片方向是困难的部分,可以使用css -webkit-transform轻松完成img的旋转:rotate(-90deg);     ,        它确实与exif数据有关。虽然使用webkit变换只可以在Web视图中一次使用,但是如果您以后要使用图像并始终保持正确的方向,则可以使用此处给出的类别: http://vocaro.com/trevor/blog/2009/10/12/resize-a-uiimage-the-right-way/ 本文非常出色地解释了为什么会发生旋转,并且代码也很好地完成了“修复”问题,因此您可以利用图像,而不必做额外的事情或担心是否可以正确显示(即使UIImageView考虑了方向)。 您可以将此尺寸调整为原来的尺寸,并且可以解决方向问题。     

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...