在ThreeJS中将画布用作HTML2CANVAS的纹理时出错,但是为什么?

时间:2018-08-24 07:26:53

标签: canvas three.js textures html2canvas

从CANVAS到TEXTURE-THREE.WebGLState:DOMException:“操作不安全。为什么?

尝试使用已存在的画布作为对象的纹理,但是我认为ThreeJS丢失了上下文或其他错误……:

这里是示例:

jsfiddle code here: 1:

绿色btn工作正常。是简单的画布修改, 但只要按Red btn并在控制台上看到错误 在红色btn之后,绿色不再起作用了... 具有相同的错误。

错误: FFox“ THREE.WebGLState:DOMException:”操作不安全

Chrome浏览器“ THREE.WebGLState:DOMException:无法在'WebGLRenderingContext'上执行'texImage2D':可能无法加载污染的画布。

1 个答案:

答案 0 :(得分:0)

受污染的画布是可能包含来自页面之外的其他来源的数据的画布,因此您不可以“读取”其数据,因为您可能会用它来刮取远程图像……至少这是我的理解。有一种方法可以设置您的网络服务器,以将这些外部图像代理给您,而不会污染您的画布。

https://developer.mozilla.org/en-US/docs/Web/HTML/CORS_enabled_image