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

问题描述

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

首先,这个canvas有背景色。

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

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

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

我的思路是这样的。

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

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

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

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

我的思路是否可行?

解决方案

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

解决方案二:

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

时间: 2024-10-26 15:27:54

canvas如何响应鼠标事件删除不规则图形的相关文章

jQuery实现响应鼠标事件的图片透明效果【附demo源码下载】_jquery

本文实例讲述了jQuery实现响应鼠标事件的图片透明效果.分享给大家供大家参考,具体如下: 实现的思想: 1.当鼠标放在图片上面的时候触发mouseover mouseenter两个事件(图片变得透明) 2.当鼠标离开图片的时候触发mouseleave mouseout两个事件(图片变为不透明) 具体代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.or

jQuery响应鼠标事件并隐藏与显示input默认值_jquery

分享下jQuery如何隐藏和显示 input 默认值的例子. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <

js操作输入框提示信息且响应鼠标事件

 注册网站的输入框就有默认提示值,当获取鼠标焦点的时候,默认值被删除,当用户没输入东西焦点离开的时候,又恢复默认提示值 我们经常遇到一些输入框,比如注册网站的输入框就有默认提示值,当获取鼠标焦点的时候,默认值被删除,当用户没输入东西焦点离开的时候,又恢复默认提示值.这方法用js代码实现如下:    html代码:  代码如下: <input type="text" id="email" name="email" class="tx

Silverlight Canvas 无法响应KeyDown事件解决办法

在UserControl上添加属性 IsTabStop="true". 在cs代码中 loaded事件上调用方法 this.Focus(). 将KeyDown事件添加到UserControl 上.  

gui-unity3d 鼠标事件穿透GUI界面的问题

问题描述 unity3d 鼠标事件穿透GUI界面的问题 在用OnGUI函数绘制窗体时,鼠标在窗体或控件上面操作时,场景则不应该响应鼠标事件.网上一般用 GUIUtility.hotcontrol!=0来屏蔽,当hotControl不为0时说明有控件处于激活状态.查官方文档,当鼠标在GUI控件上面按下时,hotcontrol被设置为该控件的ID,当鼠标按键被弹起时,hotcontrol为设置为0,因为在场景里面只能配合鼠标按下事件,不能配合鼠标弹起,因为此时hotcontrol已经被引擎置为0了.

Actionscript 3.0 鼠标事件_Flash as3

关于Actionscript 3.0的事件机制,以后分模块一个一个介绍,最后形成一个完整的文档.看了第一章,就说说鼠标事件,顺便说下我遇到的一个问题.Actionscript 3.0鼠标事件无非就是监听和捕获鼠标事件,比如Click,DoubleClick等,AS3中鼠标事件包是在flash.events.MouseEvent中. 在这里贴一个简单ActionScript 3.0实现写字板程序代码,结合代码来理解鼠标的监听,捕获处理过程. 复制代码 代码如下: package { import

html5-canvas怎么设置鼠标事件?怎么获取里面的点?

问题描述 canvas怎么设置鼠标事件?怎么获取里面的点? function() { var graph = document.getElementById('canvas'); if (graph.getContext){ var g = graph.getContext('2d'); g.strokeStyle = '#000'; g.beginPath(); for (var i = 0, l = a.length; i < l; i++) { g.arc((i + 1) * 100,a[

WPF中image控件鼠标事件

问题描述 我在WPF的窗口中添加了一个image控件,然后想通过该控件的MouseDown事件来捕捉鼠标的位置,可是添加了事件的处理程序后,该事件怎么都不响应,下面是xaml和cs中的代码<Windowx:Class="TrackingForms.MainWindow"xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x="http://schemas.mic

C语言控制台窗口图形界面编程之八 鼠标事件

上次讲的是键盘事件,这次我们介绍鼠标事件.下面先介绍下鼠标事件的结构体以及相关信息. typedef struct _MOUSE_EVENT_RECORD //鼠标事件结构体 { COORD dwMousePosition; //当前鼠标在控制台窗口缓冲区的位置 DWORD dwButtonState; //鼠标按键的状态 DWORD dwControlKeyState; //控制键状态 DWORD dwEventFlags; //鼠标事件类型 } MOUSE_EVENT_RECORD; /*