Используя CIFIlter, я хочу применить один и тот же фильтр к нескольким изображениям
У меня есть несколько анимационных изображений UIImageView
let sepiaFilter = CIFilter(name:"CIColorControls")
let brightness = 0.8
for image in imageView.animationImages {
guard let ciimage = CIImage(image: image) else { return }
if let newimage = self.sepiaFilter(ciimage, filter: filter, intensity:brightness )
{
let cgImage:CGImage = ciImageCtx!.createCGImage(newimage, from: newimage.extent)!
let image:UIImage = UIImage.init(cgImage: cgImage)
newImages.append(image)
}
}
}
func sepiaFilter(_ input: CIImage,filter: CIFilter?, intensity: Double) -> CIImage?
{
filter?.setValue(input, forKey: kCIInputImageKey)
filter?.setValue(intensity, forKey: kCIInputBrightnessKey)
return filter?.outputImage
}
Итак, дайте мне знать, как лучше всего применить CIFilter для нескольких изображений ?
Использование выше для цикла Загрузка ЦП увеличено более чем на 100%, так что это совершенно неверный путь.
Возможна ли анимация в GLKit View ?
Если да, позвольте мне предоставить подробную информацию об этом или дать лучшее решение
**let cgImage:CGImage = ciImageCtx!.createCGImage(newimage, from: newimage.extent)!**
Эта строка требует больше ресурсов процессора и времени
Спасибо.