我需要为ARSCNView创建一个屏幕截图,这个类的定义如下:
public class SceneLocationView: ARSCNView, ARSCNViewDelegate { }我遵循以下方法来完成屏幕截图:How do I take a full screen Screenshot in Swift?
但是场景位置视图没有打印出来,其余的都打印出来了。
有没有人能成功地做到这一点?
发布于 2018-03-01 22:23:31
还有另一种方法:
ARSCNView有一个内置函数:.snapshot()
这可以像这样轻松地调用:
let renderedImage = augmentedRealityView.snapshot()而且它也可能更有用,因为我认为它不会呈现任何UIKit元素,比如UINavigationBar。
发布于 2018-03-01 21:10:11
试试这个扩展,
extension UIView {
var snapshot: UIImage? {
UIGraphicsBeginImageContextWithOptions(bounds.size, false, 0)
defer { UIGraphicsEndImageContext() }
drawHierarchy(in: bounds, afterScreenUpdates: true)
return UIGraphicsGetImageFromCurrentImageContext()
}
}并使用
let screenShot = self.view?.snapshot我能够从这个扩展中保存OpenGL视图的屏幕截图。
https://stackoverflow.com/questions/49049992
复制相似问题