2011-08-25 41 views
3

我正在研究谷歌应用程序引擎中的一个小项目。使用html5画布我需要向用户显示一个画布,用户可以在其上绘制节点和连接边缘。我需要用dijkstras算法找到最短路径。从HTML5画布获取值到Javascript

我的问题是,我想从画布上点击提交按钮的值。这些值是节点和相应边的坐标。这将是一个可以存储列表的json数据结构。 主要问题是从canvas获取值到javascript存储在json上。

我的正文部分包含

<body> 
<div> 
<canvas id="canvas" height="500" width="1000" style="border:1px solid #c3c3c3;"></canvas> 
</div> 

<div> 
<input type="button" value="Submit" onclick="submit()"> 
</div> 

</body> 

什么对提交函数写???

+1

您无法从画布中获取该信息。画布只是一个位图,它不知道你在画什么,更不用说“节点”和“边缘”。由于*您*正在绘制它,因此您需要存储当时的数据。 – RoToRa

+0

尝试像[fabric.js](https://github.com/kangax/fabric.js)这样的canvas抽象库,它将为您提供对象模型和序列化支持。 – kangax

回答

1

如果你在SVG中使用它,这将是一件轻而易举的事情。不幸的是,画布是一个直接的绘画表面,这意味着当您画画时画布不会记录绘制的任何东西。

在绘画阶段,您将不得不随时跟踪绘制时的所有必要信息(节点和边缘)。否则,信息根本就不存在。