在窗口中使用HTML5类似画布的绘画程序绘制矩形



我正在用HTML5中的画布编写一个绘画应用程序。我已经完成了我的铅笔画与触摸和绘画。现在我正试着做一个长方形。对于我读过的所有主题,我必须将所有完成的形状存储在一个数组中,但如果我这样做,我还必须使用普通绘图存储所有点,这样我就可以绘制一个矩形,就像窗口绘画一样。请给我另一个绘制矩形窗口的解决方案,在我制作"鼠标向上"之前,旧矩形将被删除,新矩形将被替换。提前感谢:)

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

如果要保存以前的图形

鼠标按下时:

  • 保存鼠标位置(startX/startY)
  • 设置一个标志,指示拖动已开始(isDown=true)

在鼠标移动中:

  • 如果isDown==false,则不执行任何操作(return)
  • 否则,清除画布
  • 重新绘制所有以前的图形(从保存的点数组等)
  • 从开始到鼠标位置绘制当前矩形--context.strokeRect(startX,startY,mouseX startX,mouseY startY)

鼠标悬停时:

  • 清除拖动标志(isDown=false)

如果您想使用2个画布

作为存储以前每个图形的替代方案,可以使用2个画布。一个画布用于绘制当前矩形,第二个画布用于保留以前绘制的所有项目。下面是一个使用两个画布的示例,这样您就不必存储以前的图形:jsfiddle.net/1erickson/V9J5J/

最新更新