Почему локальное изображение поворачивается на 90 градусов на UIWebView - PullRequest
1 голос
/ 27 мая 2011

У меня есть приложение, которое установлено в ландшафтном режиме из-за содержимого, которое оно содержит.Одна из вещей, которые я хочу сделать, это сфотографировать лист бумаги.Я представляю UIImagePickerController заблокированный в портретном режиме, потому что он соответствует размеру бумаги.После того, как пользователь делает снимок, я загружаю это изображение в качестве фона в UIWebView.Причина, по которой я пользуюсь веб-просмотром, заключается в том, что иногда мне нужно также загрузить туда файл .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 градусов для правильного размещения или как-то так?Я попробовал почти все без удачи.

Другое дело, что мы снова снимаем картинку и перезагружаем веб-вид, старые изображения остаются.

Ответы [ 2 ]

0 голосов
/ 28 июля 2011

Это имеет отношение к данным exif. Хотя преобразование webkit может пригодиться для однократного просмотра только в Интернете, если вы хотите использовать изображение позже и всегда иметь правильную ориентацию, я бы использовал приведенные здесь категории:

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

В статье отлично объясняется, почему происходит вращение, а код хорошо справляется с «исправлением» «проблемы», так что вы можете использовать изображение, не прибегая к дополнительным вещам и не заботясь о том, оно будет отображаться правильно (даже если UIImageView учитывает ориентацию).

Вы можете изменить размер до того же размера, который был изначально, и это должно решить проблему ориентации.

0 голосов
/ 27 мая 2011

Вам нужно изменить ориентацию изображения из его заголовка exif, если в нем есть информация об ориентации.Определение ориентации изображения - это сложная часть, вращение imgs можно легко выполнить с помощью css -webkit-transform: rotate (-90deg);

...