在 ARKit 中截图

Take a screenshot in ARKit

我目前正在使用 Xamarin 制作我的第一个 ARKit 应用。

我正在尝试捕获 AR 视图(相机视图 + 3D 场景)以供用户保存和共享。

按照其他帖子的建议,我正在使用 this 'Snapshot' method on my ARSCNView (named SceneView) to get a UIImage and displaying it with a previously created UIImageView, and have been getting this MemberAccessException : MemberAccessException screenshot

添加的堆栈跟踪没有帮助: Stacktrace screenshot

Snapshot 似乎在内部尝试创建 SCNSceneRenderer 的实例,因此出现错误。


我有点绝望,你会认为在 AR 视图中用你的 3D 场景拍照会简单自然..

如有任何帮助,我们将不胜感激。

您似乎正试图在 class 本身上调用 snapshot,而不是 class 的实例。将您的调用更改为对视图对象调用 snapshot

所以,我仍然认为这是一个 Xamarin 错误,并且找到了解决方法。

我在 List ScreenshotHiddable 中引用要从屏幕截图中隐藏的 UIView,并且在我的 SceneView 上使用经典 UIView.Capture 方法:

ScreenshotHiddable.HiddenAll(true);
UIImage screenshot = SceneView.Capture();
ScreenshotHiddable.HiddenAll(false);

我承认这有点丑陋,但它确实有效。