Я сталкиваюсь с проблемой ориентации изображения при обрезке квадратной части изображения из прямоугольного исходного изображения. Когда изображение находится в альбомной ориентации, все в порядке. Но когда он находится в портретной ориентации, кажется, что ориентация изображения не сохраняется, что приводит к изображению с неправильной ориентацией И плохой обрезкой:
func cropImage(cropRectangleCoordinates: CGRect) {
let croppedImage = originalImage
let finalCroppedImage : CGImageRef = CGImageCreateWithImageInRect(croppedImage.CGImage, cropRectangleCoordinates)
finalImage = UIImage(CGImage: finalCroppedImage)!
}
Думаю проблема в croppedImage.CGImage
. Здесь изображение преобразуется в CGImage
, но, похоже, не сохраняет ориентацию. Легко сохранить ориентацию, используя только UIImage
, но чтобы сделать кадрирование, изображение должно быть временно CGImage
, и это проблема. Даже если я переориентирую изображение при обратном преобразовании в UIImage
, оно может быть в правильной ориентации, но при кадрировании CGImage
ущерб уже нанесен.
Это быстрый вопрос, поэтому, пожалуйста, ответьте быстро, поскольку в Objective-C решение может быть другим.