我想将电影中的帧复制到画布中并转换该数据。 没有Web服务器,也没有来自外部主机的数据,只使用本地数据。我使用Chrome。
我的问题是,当我调用getImageData(...)时,我得到“Uncaught SecurityError:无法在CanvasRenderingContext上执行getImageData:画布已被跨源数据污染。”
所以,我发现一些页面有相同的错误。他们说要改变Filepath或crossOrigin。 因此,我将视频设置为crossOrigin =“anonymous”,对于Canvas上下文和视频元素也是如此 - 没有任何效果。
代码段:
video = $("#video")[0];
canvas = $("#mycanvas");
canvas2 = $("#mycanvas2");
ctx=canvas.getContext("2d");ctx2=canvas2.getContext("2d");
ctx2.drawImage(video,0,0);
data=ctx2.getImageData(0,0,w,h) //not working...
ctx.putImageData(data,0,0)
我能做些什么,或者我如何在这里正确使用crossOrigin? 我的一位同事提到有一面旗帜,如果我从Chrome开始就没出现错误,但是他无法记住哪一个我找不到它......