我创建了一个CIFilter
AVMutableVideoComposition
由于它不支持过滤器和层的指示,我试图申请转换我需要直接在过滤器:
filter.setValue(transform, forKey: kCIInputTransformKey)
凡transform
是CGAffineTransform
这引发异常
终止应用程序由于未捕获的异常“NSUnknownKeyException”,原因:“[setValue方法:forUndefinedKey:]:此类不是密钥值编码兼容的关键inputTransform。”
现在医生说
一种用于NSAffineTransform对象,指定变换应用的关键。
但NSAffineTransform
不iOS上存在。
如何使用CGAffineTransform
或iOS,还是什么替代品可以取代它?
你需要用在NSValue
变换:
filter.setValue(NSValue(cgAffineTransform: transform), forKey: kCIInputTransformKey)
我的解决办法是直接适用于过滤器的改造。
这可以通过将其应用到源图像来完成。
request.sourceImage.transformed(by: transform)
编辑:弗兰克指出;不是所有的过滤器支持转换!