来自原生 iOS 的 Unity AR 视图的屏幕截图
Screencapture of Unity AR view from native iOS
我正在尝试从本机 iOS 截取我的 Unity 视图的屏幕截图。我的母语iOS已经写成Xamarin.iOS
当按钮单击事件在统一视图上触发时,我的本机应用程序会触发通知并在本机端调用方法。在这个本机方法中,我试图捕获当前视图(Unity AR 视图)的屏幕截图。这是我用来截屏的 xamarin 代码。
UnityFramework _ufw;
_view = _ufw.AppController().RootView;
var mainLayer = _view.Window.Layer;
mainLayer.RenderInContext(UIGraphics.GetCurrentContext());
var img = UIGraphics.GetImageFromCurrentImageContext();
img.SaveToPhotosAlbum((iRef, status) =>
{
if (status != null)
{
new UIAlertView("Problem", status.ToString(), null, "OK", null).Show();
}
else
{
new UIAlertView("Saved", "Saved", null, "OK", null).Show();
}
});
}
finally
{
UIGraphics.EndImageContext();
}
我的问题是它无法捕获我的 AR 视图。相反,它只是捕获一个白色视图。我想捕获我的 Unity 视图,它在相机视图上有一些重叠的项目。我怎么能这样做?谢谢!
post 帮助了我。所以我替换了下面的 lnes
var mainLayer = _view.Window.Layer;
mainLayer.RenderInContext(UIGraphics.GetCurrentContext());
有
UIGraphics.BeginImageContextWithOptions(_view.Frame.Size, false, 0f);
_view.DrawViewHierarchy(_view.Frame, true);
很有魅力
我正在尝试从本机 iOS 截取我的 Unity 视图的屏幕截图。我的母语iOS已经写成Xamarin.iOS
当按钮单击事件在统一视图上触发时,我的本机应用程序会触发通知并在本机端调用方法。在这个本机方法中,我试图捕获当前视图(Unity AR 视图)的屏幕截图。这是我用来截屏的 xamarin 代码。
UnityFramework _ufw;
_view = _ufw.AppController().RootView;
var mainLayer = _view.Window.Layer;
mainLayer.RenderInContext(UIGraphics.GetCurrentContext());
var img = UIGraphics.GetImageFromCurrentImageContext();
img.SaveToPhotosAlbum((iRef, status) =>
{
if (status != null)
{
new UIAlertView("Problem", status.ToString(), null, "OK", null).Show();
}
else
{
new UIAlertView("Saved", "Saved", null, "OK", null).Show();
}
});
}
finally
{
UIGraphics.EndImageContext();
}
我的问题是它无法捕获我的 AR 视图。相反,它只是捕获一个白色视图。我想捕获我的 Unity 视图,它在相机视图上有一些重叠的项目。我怎么能这样做?谢谢!
var mainLayer = _view.Window.Layer;
mainLayer.RenderInContext(UIGraphics.GetCurrentContext());
有
UIGraphics.BeginImageContextWithOptions(_view.Frame.Size, false, 0f);
_view.DrawViewHierarchy(_view.Frame, true);
很有魅力