我目前正在尝试跟踪一个人的绘画动作,并将其保存到数据库中。
在我的网页上有一个画布,用户可以使用鼠标进行绘制。我想要的是能够保存用户在绘图时所做的移动,这样我就能够重新跟踪绘图时所作的每一个移动。
我自己对解决方案的想法是,每当用户在画布中单击鼠标时,坐标都会被保存,直到用户释放鼠标按钮。另一种解决方案是在画布中每点击3-4次就保存一张画布图像,这样你就可以看到绘制过程。
有没有人有更好的解决方案,或者关于如何最好地实现这样一个功能的一些技巧?
更新:
所以我的描述可能不够具体。基本上,我想通过保存坐标来记录用户的绘图过程,这样我就可以从数据库中检索这些坐标,并在绘图时回放用户的移动。
当用户按下保存按钮时,坐标将被保存到数据库中,因此我需要存储所有坐标,直到按下按钮。
我希望在客户端和服务器端都能得到帮助。服务器端是用Java编写的。我目前在客户端使用JavaScript,MySQL作为我的数据库。
在绘图时将坐标发送到服务器可能会导致大量流量,并可能降低服务器与其他用户的响应速度。
不是捕捉和发送每一个动作,而是:
- 缓冲从鼠标向下到鼠标向上的移动,然后将"绘制实例"发送到服务器
- 在数组中捕获这些绘图实例,当用户完成绘图时,只提交给服务器可能会更好
每个用户使用一个"网络套接字"实例可能是有利的,因为这将比HTTP请求(AJAX)快得多,同时,如果有多个人同时绘图,网络套接字可以将其他用户的数据推送到每个连接用户的实时绘图中。
我不确定你需要在这里完成什么,但是,以上可能会有所帮助。也许如果你能详细说明你想完成什么,就可以起草一份更详细的答案,并具体说明如何完成你需要的。