将事件侦听器添加到HTML Canvas元素中的像素



我有一个500 x 500像素(总共250000像素(的HTML画布。

我正在使用P5 javascript库在画布上进行一些设计。

我想:1( 为每个像素附加一个ID2( 每次像素发生变化时,我都希望收到一个事件,它会给我:像素的ID、像素的上一种颜色、像素的新颜色以及变化的时间戳

我已经查看了所有的HTML事件侦听器,但没有找到一个能提供这些信息的侦听器——这可能吗?

在任何绘图开始之前,我已经掌握了画布的上下文和图像数据:

// canvas instantiated as the canvas element
let context = canvas.getContext('2d')
let imgData = context.getImageData(0, 0, canvas.width, canvas.height)
let data = imgData.data

认为根据目前的情况来解释data的方法是:它是一个250000元素的数组,其中每个元素都包含该时间点的像素颜色。下一步是添加一个事件侦听器,每当这些元素中的一个发生更改时就会触发它,但我不知道如何做到这一点。

提前感谢

实现这一点的最佳方法是使用一个websocket,在画布上的onMouseDown(或onTouchDown(事件后,它会在鼠标移动时获取x,y坐标,并将坐标流式传输到服务器

最新更新