在ThreeJS中将画布作为纹理与HTML2CANVAS一起使用时出错,但为什么????

在ThreeJS中将画布作为纹理与HTML2CANVAS一起使用时出错,但为什么????,canvas,three.js,textures,html2canvas,Canvas,Three.js,Textures,Html2canvas,CANVAS-to-TEXTURE-THREE.WebGLState:DOMException:“操作不安全。”为什么 尝试使用已存在的画布作为对象的纹理,但有错误,我认为ThreeJS丢失了上下文或其他东西…: 下面是一个例子: jsfiddle这里的代码: 绿色btn工作正常。是简单的画布修改, 但只需按下红色btn,并在控制台上查看错误 在那个红色的btn之后,绿色就不起作用了。。。 同样的错误 错误: FFox“THREE.WebGLState:DomeException:“操作不安全”

CANVAS-to-TEXTURE-THREE.WebGLState:DOMException:“操作不安全。”为什么

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

下面是一个例子:

jsfiddle这里的代码:

绿色btn工作正常。是简单的画布修改, 但只需按下红色btn,并在控制台上查看错误 在那个红色的btn之后,绿色就不起作用了。。。 同样的错误

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


Chrome“THREE.WebGLState:DomeException:未能在“WebGLRenderingContext”上执行“texImage2D”:可能无法加载受污染的画布。“

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


但是这个画布只是本地画布,存储来自另一台服务器的IMG,ThreeJS如何知道这个画布上的原始信息?也许我们可以重置或设置此arttr。canvas?这是浏览器的安全功能。。不是three.js的一部分。阅读我发布的链接。如前所述,我认为我需要将画布的localStorage副本制作为图像,然后应用到画布进行示例。我认为这不起作用,因为您仍然需要读取画布数据才能将其放入localStorage。但我可能错了。。我的理解是,您必须在服务器上执行某些操作。将图像代理给访问您站点的浏览器。欢迎使用stackoverflow。请编辑您的问题,并将类似“btn”的单词写为“按钮”。并非所有用户都以英语为母语,可能不知道特定单词的缩写。还要尽量形成完整的句子,注意语法、拼写和标点符号。谢谢