Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/image-processing/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用KineticJS从画布获取像素数据_Javascript_Canvas_Kineticjs - Fatal编程技术网

Javascript 使用KineticJS从画布获取像素数据

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

我试图从画布上获取像素数据。已经有一个使用KineticJS库构建的现有和正在工作的动画。我现在要做的就是得到特定正方形中某些像素的rgb值

通过使用:

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中(我在这里加载背景图片)。。。谢谢你的帮助!