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