【问题标题】:Save drawing coordinates from canvas to database将画布坐标保存到数据库
【发布时间】:2016-08-01 06:48:21
【问题描述】:

我目前正在尝试跟踪绘制动作的人,并将其保存到数据库中。

在我的网页上有一个画布,允许用户使用鼠标进行绘制。我想要的是能够保存用户在绘图时所做的动作,以便我能够重新跟踪绘图时所做的每个动作。

我自己对解决方案的想法是,每当用户在画布内单击鼠标时,坐标将被保存,直到用户释放鼠标按钮。另一种解决方案是在画布中每 3-4 次单击保存一个画布图像,这样您就可以看到绘图过程。

有没有人有更好的解决方案,或者关于如何最好地实现这样一个功能的一些提示?

更新:

所以我的描述可能不够具体。基本上我想通过保存坐标来记录用户的绘图过程,以便我能够从数据库中检索这些坐标并在绘图时回放用户的动作。

当用户按下保存按钮时坐标将被保存到数据库中,所以我需要存储所有坐标直到按下按钮。

我需要客户端和服务器端的帮助。服务器端是用 Java 编写的。我目前在客户端使用 JavaScript 并使用 MySQL 作为我的数据库。

【问题讨论】:

  • 只是一个小提示:记住要具体,并且“赞成”(或反对)相应地回答,否则其他人可能不愿意回答。
  • 感谢您的提示。该问题现已更新。
  • 太棒了,感谢您的更新。看看下面的答案是否有帮助,如果有,请投票,如果您需要更多信息,请在该答案下方发表评论。如果没有帮助,也请发表评论,因为这提供了有关实现您需要的更多信息。
  • 是的,我需要客户端和服务器端的帮助。服务器端是用 Java 编写的。我目前在客户端使用 JavaScript。我目前使用 MySQL 作为我的数据库。非常感谢您的帮助,我真的很感激。
  • @CharlSteynberg 好吧,“投票”特权需要 15 个声望,而 OP 有 1 个声望。

标签: javascript database html canvas drawing


【解决方案1】:

在此人绘图时将坐标发送到服务器可能会导致大量流量,并且可能会减慢服务器与其他用户的响应速度。

而不是捕获和发送每个动作,而是:

  • 缓冲从鼠标向下到鼠标向上的移动,然后将该“绘图实例”发送到服务器;
  • 在一个数组中捕获这些绘制实例,当用户完成绘制时 - 只提交到服务器可能会更好

为每个用户使用一个“web-socket”实例可能是有利的,因为这将比 HTTP 请求 (AJAX) 快得多,同时,如果您有多个人同时绘图,则web-socket 可以将其他用户的数据推送到每个已连接用户的实时绘图中。

我不确定您需要在这里完成什么,但是,以上内容可能会有所帮助。 或许如果你能详细说明你想要完成什么,可以起草一份更详细的答案,并附上关于如何完成你需要的具体说明。

【讨论】:

    猜你喜欢
    • 2017-06-30
    • 2017-04-22
    • 2018-05-23
    • 2011-11-05
    • 1970-01-01
    • 1970-01-01
    • 2015-08-16
    • 2011-10-15
    • 1970-01-01
    相关资源
    最近更新 更多