Javascript 从动态JS图像中获取像素数据

Javascript 从动态JS图像中获取像素数据,javascript,html5-canvas,kineticjs,Javascript,Html5 Canvas,Kineticjs,我正在使用Kinetic JS显示图像,我想实现一个放大功能 所以基本上我想复制鼠标指针悬停的图像区域,缩放它,然后在屏幕上的其他地方显示它 您可以使用canvas context.getImageData()函数获取HTML5画布像素数据,但是在Dynamic JS中是否有其他方法可以实现这一点,或者我应该尝试获取图像的底层上下文并使用getImageData函数 谢谢KineticJS只使用常规画布,因此getImageData可以正常工作。只要抓住你想要的上下文 $('#canvas').

我正在使用Kinetic JS显示图像,我想实现一个放大功能

所以基本上我想复制鼠标指针悬停的图像区域,缩放它,然后在屏幕上的其他地方显示它

您可以使用canvas context.getImageData()函数获取HTML5画布像素数据,但是在Dynamic JS中是否有其他方法可以实现这一点,或者我应该尝试获取图像的底层上下文并使用getImageData函数


谢谢

KineticJS只使用常规画布,因此getImageData可以正常工作。只要抓住你想要的上下文

$('#canvas').mousemove(function(e) {
   var pos = findPos(this);
   var x = e.pageX - pos.x;
   var y = e.pageY - pos.y;
   var coord = "x=" + x + ", y=" + y;
   var c = this.getContext('2d');
   var p = c.getImageData(x, y, 1, 1).data; 
   var hex = "#" + ("000000" + rgbToHex(p[0], p[1], p[2])).slice(-6);
   //do something with the color
});


然而,一旦你在舞台上增加更多的层次,事情就会变得有点棘手。您必须在每个画布上循环并抓取像素。

等一下。您不需要使用像素数据来放大图像。只需使用比例:

图像。设置刻度(3)

如果需要克隆原始图像,可以先克隆它


var clone=image.clone()

最后,我使用drawImage()获取像素数据,并在屏幕上的其他地方编写放大版本,但这无疑为我指明了正确的方向。非常感谢!我需要放大一幅较大图像的一小部分,所以这可能有效,但我需要在克隆图像上进行缩放,然后进行平移,以便看到正确的放大点。谢谢你的提示。