Javascript 使用KineticJS从画布获取像素数据
我试图从画布上获取像素数据。已经有一个使用KineticJS库构建的现有和正在工作的动画。我现在要做的就是得到特定正方形中某些像素的rgb值 通过使用:Javascript 使用KineticJS从画布获取像素数据,javascript,canvas,kineticjs,Javascript,Canvas,Kineticjs,我试图从画布上获取像素数据。已经有一个使用KineticJS库构建的现有和正在工作的动画。我现在要做的就是得到特定正方形中某些像素的rgb值 通过使用: console.log(document.getElementsByTagName('canvas')); 我已经知道KineticJS制作了两张画布。我尝试使用以下代码完成工作: var canvas = document.getElementsByTagName('canvas')[0]; var context = canvas.ge
console.log(document.getElementsByTagName('canvas'));
我已经知道KineticJS制作了两张画布。我尝试使用以下代码完成工作:
var canvas = document.getElementsByTagName('canvas')[0];
var context = canvas.getContext("2d");
var imageData = context.getImageData(20, 20, 10, 10);
但是,这导致了一个错误:UncaughtTypeError:无法调用undefined的方法“getContext”(我用[0]和[1]都尝试过)。这里的理由是,document.getElementsByTagName('canvas')应该给我一个节点列表,我想我可以从中获得一个canvas对象
在上面提到的console.log()中,我已经看到有两个canvas对象,但是我无法获取其中任何一个的上下文
有人告诉我如何让这三行代码正常工作吗 在动力学初始化之前,您可能会这样做吗?看起来您的
画布的长度等于0
这个例子很好:或者,您可以使用此方法获取特定层的真实上下文(如果舞台上有多个层,则此方法很有用):var realContext=layer.getContext()。\u context;你好,拉夫顿和马克。它起作用了!问题确实是我在层还没有添加到阶段时插入了代码。层被添加到一个imageObj.onload-function中的stage中(我在这里加载背景图片)。。。谢谢你的帮助!