在 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);
我承认这有点丑陋,但它确实有效。
我目前正在使用 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);
我承认这有点丑陋,但它确实有效。