Обрезка UIImage заставляет его вращаться на 90º против часовой стрелки при сохранении - PullRequest
0 голосов
/ 08 июня 2018

Я делаю приложение с полноэкранной камерой с AVFoundation.Я сохранял UIImage напрямую, не сжимая его.И это дало мне желаемый результат, то есть, это было сохранение изображений с ориентацией, в которой они были сделаны.Но когда я попытался обрезать его до прямоугольника (CGRect), он сохранил изображение, как и раньше.Вот что я сделал:

@objc func saveTapped() {
        myIndicator.isHidden = false
        guard let imageToSave = imageToShow else { return }
        let crop = CGRect(x: 0, y: 0, width: 1440.0, height: 2560.0)
        let croppedCGImage = imageToSave.cgImage?.cropping(to: crop)
        let croppedUIImage = UIImage(cgImage: croppedCGImage!)
        UIImageWriteToSavedPhotosAlbum(croppedUIImage, nil, nil, nil)
        myIndicator.stopAnimating()
    }

Я не знаю, как сохранить их в желаемой ориентации.Пожалуйста, помогите!

1 Ответ

0 голосов
/ 08 июня 2018

Изменить ниже строки с

let croppedUIImage = UIImage(cgImage: croppedCGImage)

на

let croppedUIImage = UIImage(cgImage: croppedCGImage, scale: imageToSave.scale, orientation: imageToSave.imageOrientation)
...