quicksilvery
quicksilvery
采纳率85.7%
2016-02-17 14:18 阅读 2.1k
已采纳

canvas如何响应鼠标事件删除不规则图形

10

首先,这个canvas有背景色。

其次,我已写好一个画图函数。每次点击鼠标,就能在鼠标的位置添加一个不规则图形。

这时,能否通过在已建立的不规则图形上再次点击鼠标,而把该图形删除。

同时,canvas的背景色不受影响,或许和该图形叠加的其他图形也不受影响。

我的思路是这样的。

0)将我的不规则图形看作尽可能大的矩形,用这个矩形来近似处理该不规则图形。

1)用一个队列,记录下每次鼠标的点击位置,也就是每个图形生成的坐标。

2)每次点击鼠标,均进行判定

该位置在某个不规则图形的近似矩形范围内,则重绘背景及其他所有不规则图形。
否则
在当前位置画新的不规则图形。

我的思路是否可行?

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享

2条回答 默认 最新

  • 已采纳
    showbo GoCityPass新加坡曼谷通票 2016-02-18 02:09

    思路都有了,你自己试试不就知道了。。还不如直接清空整个画布,然后重绘其他不在点击范围内的图形

    点赞 评论 复制链接分享
  • blackwoodcliff blackwood-cliff 2016-02-17 14:33

    这个很好实现,只要添加一个标志变量,用于表示是否绘制不规则图形。在每次绘制不规则图形前,都检查该标志变量,为true则绘制,为false则不绘制。然后设置该标志变量默认为true,当鼠标点击了不规则图形时,设置标志变量为false,然后重新绘图。

    点赞 评论 复制链接分享

相关推荐