【发布时间】:2014-07-14 11:44:43
【问题描述】:
前段时间,我可以使用toDataURL 函数从我的 webGL 3D 模型中截取屏幕截图,但突然停止工作,现在我不行了能够从任何 3D 模型获取图像。
有关更多见解,请参阅下文:
三个JS示例:
- http://threejs.org/examples/webgl_animation_cloth.html
- http://threejs.org/examples/webgl_buffergeometry.html
WebGL 示例:
基本示例:
- http://stemkoski.github.io/Three.js/HelloWorld.html
- http://learningwebgl.com/lessons/lesson01/index.html
在之前的所有示例中,我都没有得到图像,我得到的是黑色或透明图像
二维:
只有 2D 示例返回正确的图像
在之前的所有示例中,我都使用这种简单的方法来获取图像。
document.getElementsByTagName('canvas')[0].toDataURL();
知道我做错了什么吗?
我在 MacBook Pro 上尝试过:Chrome 和 FireFox,以及在 Windows 8.1 上的 FireFox,我得到了相同的结果
以下是我如何在 Chrome 上进行测试的动画
【问题讨论】:
-
你能发布相关的html + js吗?控制台
document.getElementsByTagName('canvas')[0]得到什么 -
其实这里更像是一个全局问题,我所做的只是访问打开控制台的 url,输入那个 js 行,然后我得到一个 base64 图像链接以在浏览器中打开
-
看整个东西是base64还是前面是否追加了图片类型。进一步尝试将整个内容粘贴到askapache.com/online-tools/base64-image-converter 之类的东西上,看看你是否得到了图像。
-
我添加了一个关于我如何在 chrome 上测试的小屏幕截图动画,请查看
-
@RoyMJ,感谢您的评论,但我认为问题不在于 base64 图像代码,因为 2D 绘图工作正常,还是我弄错了什么?
标签: javascript canvas webgl screenshot