AsyncImage вращает портретные изображения

Я загружаю изображение JPG с удаленного сервера. Если я использую , портретные изображения, взятые из библиотеки телефона, поворачиваются на 90 градусов. Пейзажные изображения, взятые из фотобиблиотеки телефона, в порядке. Кроме того, портретные и пейзажные фотографии, сделанные с камеры телефона, в порядке. Глядя на изображение на компьютере с помощью URL-адреса, оно отображается в правильной ориентации. Если вместо использования для отображения изображения я загружаю его как данные и конвертирую в UJIImage, работает нормально. Так что это проблема только при использовании . Как я могу предотвратить поворот портретных изображений на 90 градусов при использовании ?

              VStack {
            AsyncImage(url: imageURL, transaction: Transaction(animation: .spring())) { phase in
                switch phase {
                case .empty:
                    Color.purple.opacity(0.1)
                case .success(let image):
                    image
                        .resizable()
                        .aspectRatio(contentMode: .fill)
                        .transition(.scale)
                case .failure(_):
                    Image(systemName: "exclamationmark.icloud")
                        .resizable()
                        .scaledToFit()
                @unknown default:
                    Image(systemName: "exclamationmark.icloud")
                }
            }
            .frame(width: 200, height: 250)
            .cornerRadius(10)
        }

Обновление: хотя это конкретно не отвечает на вопрос, я смог обойти эту проблему, выполнив преобразование изображения перед его отправкой на сервер. Я знаю, что при отправке в формате PNG возникают проблемы с ориентацией; однако я отправлял с помощью jpgDataиз . Тем не менее, я все равно применил это преобразование перед отправкой, и оно сработало при получении через . Было бы хорошо, если бы какой-то внутренний процесс обрабатывал его по-другому, и, таким образом, это дополнительное преобразование, которое в противном случае не требуется для UIImageили любая другая платформа, требуется в этом случае. Возможно, это просто ответ, но я оставлю его как есть, вопрос о поведении AsyncImage.

0 ответов

Другие вопросы по тегам