ARSCNView 截图
Screenshot of ARSCNView
我需要截图ARSCNView,class定义如下:
public class SceneLocationView: ARSCNView, ARSCNViewDelegate { }
我正在按照以下方法完成屏幕截图:
How do I take a full screen Screenshot in Swift?
但是没有打印scenelocationview视图,其他都是。
有人成功做到了吗?
试试这个扩展,
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 View 的屏幕截图。
还有一个方法:
ARSCNView
有一个内置函数:.snapshot()
可以像这样轻松调用:
let renderedImage = augmentedRealityView.snapshot()
它也可能更有用,因为我相信它不会渲染任何 UIKit
元素,例如 UINavigationBar
。
我需要截图ARSCNView,class定义如下:
public class SceneLocationView: ARSCNView, ARSCNViewDelegate { }
我正在按照以下方法完成屏幕截图: How do I take a full screen Screenshot in Swift?
但是没有打印scenelocationview视图,其他都是。
有人成功做到了吗?
试试这个扩展,
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 View 的屏幕截图。
还有一个方法:
ARSCNView
有一个内置函数:.snapshot()
可以像这样轻松调用:
let renderedImage = augmentedRealityView.snapshot()
它也可能更有用,因为我相信它不会渲染任何 UIKit
元素,例如 UINavigationBar
。