Почему я должен преобразовать весь UIImageView вместо того, чтобы подчиняться свойству ориентации UIImage? - PullRequest
0 голосов
/ 27 марта 2020

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

DispatchQueue.main.async {
    self.filteredImageView.image = filteredImage
}

. Сначала я думал, что смогу перевернуть изображение с помощью

self.filteredImageView.image = filteredImage.withHorizontallyFlippedOrientation()

Но это не работает. Хотя ориентация UIImage изменяется (enum печатается по-разному), изображение выглядит точно так же. Вместо этого я должен сделать

if self.cameraManager.cameraPosition == .front {
    // Mirror the image view for front camera
    self.filteredImageView.transform = CGAffineTransform(scaleX: -1.0, y: 1.0)
} else {
    self.filteredImageView.transform = CGAffineTransform(scaleX: 1.0, y: 1.0)
}

Итак, мой вопрос - почему? Из того, что я понимаю, .orientation диктует, как будет нарисовано изображение, и разве оно не нарисовано в виде?

...