При применении фильтра к UIImage результат перевернут

Это меня очень раздражает. Когда я конвертирую UIImage в CIImage, применяю фильтр, а затем конвертирую обратно, изображение перевернуто (для альбомной ориентации) или повернуто против часовой стрелки на 90 градусов (для портретной ориентации).

var image:UIImage?
var index:Int?

@IBOutlet weak var photo: UIImageView!

@IBAction func editImage(sender: UIBarButtonItem) {
    println("editImage")
    let beginImage = CIImage(image: self.image)
    let filter = CIFilter(name: "CISepiaTone")
    filter.setValue(beginImage, forKey: kCIInputImageKey)
    filter.setValue(0.8, forKey: kCIInputIntensityKey)
    let newImage = UIImage(CIImage: filter.outputImage)
    self.photo.image = newImage
}

person Mark Tyers    schedule 04.11.2014    source источник


Ответы (1)


Верните ориентацию изображения и масштаб отфильтрованного изображения к исходным значениям:

let newImage = UIImage(CIImage:filter.outputImage, scale:self.image.scale, orientation:self.image.imageOrientation)
person David Berry    schedule 04.11.2014