фото с камеры iPhone выглядят повернутыми - CGAffineTransformInvert: единичная матрица - PullRequest
0 голосов
/ 19 апреля 2009

Я получаю UIImage из средства выбора изображений и помещаю его в UIImageView. Он отлично работает для обычных изображений, но для изображений, снятых камерой iphone, они иногда поворачиваются на 90 градусов.

При доступе к одному из этих изображений позже (он уже был сохранен на диск) я заметил вышеуказанную ошибку.

Есть идеи? Я предполагаю, что это как-то связано с тем, что iphone хранит дополнительные метаданные exif о положении камеры во время съемки, однако один из снимков был сделан в портретном режиме и каким-то образом повернут в альбомную ориентацию.

Ответы [ 2 ]

3 голосов
/ 19 апреля 2009

Решение, которое я использовал, состоит в том, чтобы поворачивать и переворачивать изображение в соответствии со свойством imageOrientation. Здесь есть некоторый код, который поможет: UIImage fix .

UIImageView вращается и переворачивается автоматически, так что это не проблема, если все, что вы делаете, это отображаете его на экране вот так.

0 голосов
/ 20 апреля 2009

Вы правы в том, что телефон хранит метаданные поворота с изображением, чтобы указать, в каком направлении его следует повернуть для отображения. Это может быть тег EXIF; это может быть что-то совершенно другое, все, что Apple говорит вам, в форме UIImage.

UIImage во многих отношениях является простой оболочкой для CGImage. Изображение CGImage в этом случае является «тупым» объектом, который знает / заботится только о необработанных данных изображения; нет ничего более высокого уровня, чем информация о вращении. UIImage объединяет это с вращением и другой информацией в одном удобном классе. Одним из преимуществ является то, что UIImage автоматически знает, как рисовать себя с правильным вращением.

Таким образом, золотая середина может быть в избегать взаимодействия с CGImage в большинстве приложений. UIImage должен делать почти все, что вы хотите, и обрабатывать информацию о вращении более высокого уровня и т.д. В противном случае вы попадаете в странные ситуации, когда большинство изображений рисуются правильно, но некоторые поворачиваются.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...