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