2 quicksilvery quicksilvery 于 2016.02.17 22:18 提问

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

首先,这个canvas有背景色。

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

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

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

我的思路是这样的。

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

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

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

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

我的思路是否可行?

2个回答

showbo
showbo   Ds   Rxr 2016.02.18 10:09
已采纳

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

quicksilvery
quicksilvery 实现了!的确是重绘的!
接近 2 年之前 回复
blackwoodcliff
blackwoodcliff   2016.02.17 22:33

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

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!