Я прочитал последние ноу-хау о применении CIFilter к UIImage и отображаю его обратно. Однако, я все еще получаю свое изображение больше, чем оригинал, не знаю почему. Может быть, мне не хватает какого-то масштабного коэффициента?
Это мой экран с простым UIImageView и некоторым изображением. Единственные ограничения - центр X / Y для суперпредставления.
Снимок экрана перед применением фильтра
Однако я добавил этот код в viewDidLoad()
:
let ciContext = CIContext(options: nil)
let coreImage = CIImage(image: ledImageView.image!)
let filter = CIFilter(name: "CIExposureAdjust")
filter!.setValue(coreImage, forKey: kCIInputImageKey)
filter!.setValue(1.5, forKey: kCIInputEVKey)
let filteredImageData = filter?.outputImage as! CIImage
let filteredImageRef = ciContext.createCGImage(filteredImageData, from: filteredImageData.extent)
ledImageView.image = UIImage(cgImage: filteredImageRef!)
Я получаю результат, отличный от ожидаемого (да, фильтр применяется, но размер нарушен). Что я сделал не так?
Снимок экрана после применения фильтра