使用 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 应用于多个图像的最佳解决方案是什么?
使用上面的 for 循环CPU 使用率增加了 100% 以上,所以这是完全错误的方式。
GLKit View中是否有可能的动画?如果是,请让我提供有关它的详细信息或提供最佳解决方案
**let cgImage:CGImage = ciImageCtx!.createCGImage(newimage, from: newimage.extent)!**
此行占用更多 CPU 使用率和时间
谢谢。