我想将一个UIView渲染成一个UIImage,但是该UIView的一些子视图已经使用layer.compositingFilter
设置了混合模式,这些视图将在没有混合模式的情况下渲染,例如:
view.layer.compositingFilter = "multiplyBlendMode"
根据Apple的documentation:
此方法的OS X v10.5实现不支持整个Core Animation合成模型。不渲染QCCompositionLayer、CAOpenGLayer和QTMovieLayer层。此外,不渲染使用3D变换的层,也不渲染指定backgroundFilters、滤镜、compositingFilter或掩码值的层。macOS的未来版本可能会添加对渲染这些层和属性的支持。
我的渲染代码:
let format = UIGraphicsImageRendererFormat.default()
format.scale = 1.0
let image = UIGraphicsImageRenderer(size: self.bounds.size, format: format).image { context in
self.layer.render(in: context.cgContext)
}
如何使用混合模式(如多重混合模式)渲染视图?
1条答案
按热度按时间oiopk7p51#
您可以使用
drawHierarchy