使用子视图拍摄 ARSCNView 快照

Posted

技术标签:

【中文标题】使用子视图拍摄 ARSCNView 快照【英文标题】:Take ARSCNView snapshot with subview 【发布时间】:2020-08-31 19:45:51 【问题描述】:

我正在使用 ARSCNView.snapshot() 在我的 ios 应用程序中以图片作为框架拍摄快照。图片框架是一个 UIImageView,它是 ARSCNView 的一个子视图。但是,我只能在没有图像的情况下获得拍摄照片中的场景。我还尝试使用此方法 (https://***.com/a/45346555/10057340) 将 ARSCNView 渲染为图像,但我只获得了具有白色背景的图像帧,而不是具有相机场景的图像帧。任何人都可以建议这样做的方法吗?谢谢!! 下面是我使用 snaphot() 的方法:

var frameImageView: UIImageView!
var sceneView: ARSCNView!

func takeSnapShot() 
        frameImageView.image = UIImage(named:"frame")
        frameImageView.ishidden = false
        sceneView.addSubView(frameImageView)
        UIImageWriteToSavedPhotosAlbum(sceneView.snapshot(), nil, nil. nil)

【问题讨论】:

【参考方案1】:

我不完全理解您的具体要求,但您可能会发现来自 WWDC 2017 的视频很有用:https://www.youtube.com/watch?v=eBt1p799L3Q 在 18 分钟内查看他们制作的项目。

【讨论】:

以上是关于使用子视图拍摄 ARSCNView 快照的主要内容,如果未能解决你的问题,请参考以下文章

以编程方式拍摄视图/WebView 的快照

iOS 在进入后台时拍摄视图快照的确切时间?

如何在 iOS swift 中的 ARSCNView 中显示 uicollection 视图

当android应用程序后台运行时如何在android中隐藏视图(在后台运行时不停止android拍摄快照)[重复]

在 ios7 中拍摄状态栏的快照

拍摄隐藏的 UIView 的快照