CIFIlter Применить к анимации изображения UIImageView - PullRequest
0 голосов
/ 08 января 2019

Используя 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)!**

Эта строка требует больше ресурсов процессора и времени

Спасибо.

...