如何捕捉canvas中的小变化,并将它们发送给所有使用该canvas的相互连接的用户?

我想让人们通过HTML5canvas沟通。 如果一个人画在canvas上,另一个人应该能够同时看到,而且是副诗。

我使用node.js作为具有express框架和socket.io的服务器。

有像.toDataURL和其他方法是将其转换为blob,然后发送它的方法。 但是这些方法将整个canvas转换成图像,然后通过websockets发送。

有没有一种有效的方式,我只能发送创build的新数据或在canvas上进行的更改,而不是创build一个图像,然后再次发送给所有用户?

保持像素的轨迹是更好的吗?

“方法将整个canvas转换为图像” – 而不是发送canvas数据(图像),您需要发送用户交互。

正确的方法是首先logging用户操作(点击,拖动等),将它们序列化,然后发送给共享此canvas的其他用户。 接收者必须在canvas上回放接收到的动作,以达到共享canvas的效果。

你可能会觉得这很有用: http : //ramkulkarni.com/blog/deserializing-recordings-in-recordable-html5-canvas/