Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/444.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在javascript中获取gltf模型的屏幕截图?_Javascript_Reactjs_Aframe_Gltf_Ar.js - Fatal编程技术网

如何在javascript中获取gltf模型的屏幕截图?

如何在javascript中获取gltf模型的屏幕截图?,javascript,reactjs,aframe,gltf,ar.js,Javascript,Reactjs,Aframe,Gltf,Ar.js,我正在使用AR.js和React制作AR web应用程序。 由于AR.js与A-Frame相关,因此它通过A-Frame使用组件渲染三维模型 我想制作一个函数,将喜爱的3D模型(gltf模型)保存为屏幕截图 如何在javascript中获取gltf模型的屏幕截图?您可以将A-Frame的元素的当前状态保存到图像中。请参见或(在最简单的情况下)如下所示: var canvas = sceneEl.canvas; // here is the most important part because

我正在使用AR.js和React制作AR web应用程序。 由于AR.js与A-Frame相关,因此它通过A-Frame使用
组件渲染三维模型

我想制作一个函数,将喜爱的3D
模型(gltf模型)
保存为屏幕截图


如何在javascript中获取gltf模型的屏幕截图?

您可以将A-Frame的
元素的当前状态保存到图像中。请参见或(在最简单的情况下)如下所示:

var canvas = sceneEl.canvas;

// here is the most important part because if you dont replace you will get a DOM 18 exception.
var image = canvas.toDataURL("image/png").replace("image/png", "image/octet-stream");  

window.location.href=image; // it will save locally

我已经用
document.querySelector('a-scene').components.screenshot.getCanvas('equirectangle')
方法解决了这个问题,但是你的答案对我了解如何将画布保存为图像非常有帮助!非常感谢:)