2013-12-13 86 views
0

我写在HTML5画布绘画应用程序画绘制矩形。 我已经完成了我的铅笔绘画与触摸和绘图。 现在我正在尝试制作一个矩形。对于我读过的所有主题,我将不得不将所有完成的形状存储在一个数组中,但是如果我这样做了,我还必须将所有点用普通绘图存储,以便我可以绘制一个像窗口一样的矩形绘画。 请给我另一个解决方案来绘制矩形像窗口,哪个旧的矩形将消失,新的将替换之前,我做了一个“鼠标”。 在此先感谢:)与HTML5画布像在Windows

+0

我”我试图将所有的数据存储到一个数组中,但是我很担心如果我的程序将不得不存储这么多的数据。 –

回答

0

您将需要保存以前的图纸或使用2个画布。

如果要保存先前的图...

在鼠标按下:

  • 保存鼠标位置(运行startx/startY)。
  • 设置一个标志,表明一拖已经开始(isDown =真)

在鼠标移动:

  • 如果isDown ==假的,没有做任何事情(返程)
  • 否则,清除画布
  • 重绘您以前的所有绘图(从您保存的点阵列等)
  • 绘制当前矩形从开始到鼠标位置 - context.strokeRect(startX,st附庸风雅,mouseX-运行startx,mouseY的-startY)

在鼠标松开:

  • 明确拖动标识(isDown = FALSE)

如果你想使用2个画布.. 。

至于存储每个先前图形替代,你可以使用2幅油画。一个画布用于绘制当前矩形和一个第二画布,以保持所有以前绘制的项目这是一个使用2个画布,所以你不必储存以前的图纸做了一个例子:jsfiddle.net/m1erickson/V9J5J/

+0

谢谢^ _ ^这对于像我这样的新手来说非常有用^ _ ^ –