Javascript 使用renderer.doElement保存屏幕截图不会';我不在野生动物园工作
请看下面的视频来说明这个问题:它应该像在Chrome和Firefox中一样保存为png。safari提供的只是一个没有文件扩展名的空白“未知”文件。以下是JS:Javascript 使用renderer.doElement保存屏幕截图不会';我不在野生动物园工作,javascript,safari,three.js,Javascript,Safari,Three.js,请看下面的视频来说明这个问题:它应该像在Chrome和Firefox中一样保存为png。safari提供的只是一个没有文件扩展名的空白“未知”文件。以下是JS: function getCanvasImg(){ var canvas = document.getElementById('mCanvas'); console.log(renderer.domElement.toDataURL()); var link = document.getElementById('canvasImg');
function getCanvasImg(){
var canvas = document.getElementById('mCanvas');
console.log(renderer.domElement.toDataURL());
var link = document.getElementById('canvasImg');
link.href = renderer.domElement.toDataURL().replace("image/png", "image/octet-stream");
link.download = 'canvas.png'
link.click();
}
此外,您会注意到画布被移动到屏幕的左侧;它应该像在其他浏览器中一样处于中心位置
任何帮助都将不胜感激,谢谢请在调用
toDataURL()
之前尝试调用renderer.render()
。不幸的是,这不起作用。控制台显示“TypeError:renderer.render(…)未定义”。我将第5行替换为:“link.href=renderer.render().toDataURL().replace(“image/png”,“image/octet stream”);“在调用toDataURL()
之前再次渲染场景。我尝试了“renderer.doelement.renderer.render().toDataURL().replace”(“image/png”,“image/octet stream”);“如果这是您的意思?renderer.render.render(场景,摄影机);link.href=renderer.doElement.toDataURL();
在调用toDataURL()
之前尝试调用renderer.render()
。不幸的是,这不起作用。控制台显示“TypeError:renderer.render(…)未定义”。我将第5行替换为:“link.href=renderer.render().toDataURL().replace”(“image/png”),”image/octet stream“;”在调用toDataURL()
之前再次渲染场景。我尝试了“renderer.domElement.renderer.Render().toDataURL().replace(“image/png”,“image/octet stream”);“如果这是您的意思?renderer.Render(场景,摄影机);link.href=renderer.domElement.toDataURL();
尝试调用renderer.Render()
就在您调用toDataURL()
之前。不幸的是,这不起作用。控制台说“TypeError:renderer.render(…)未定义”。我将第5行替换为:“link.href=renderer.render().toDataURL().replace(“image/png”,“image/octet stream”);”在调用toDataURL()
之前再次渲染场景。我尝试了“renderer.domElement.renderer.render().toDataURL().replace(“image/png”、“image/octet stream”);“如果这是您的意思?renderer.render(场景、相机);link.href=renderer.domElement.toDataURL();