我可以检测鼠标当前是否在画布绘制函数内移动
Can I detect if the mouse is currently moving inside a canvas draw function?
我在HTML5画布上画一个矩形。当我画它的时候,我希望它是一种颜色(透明),当我画完它的时候,我希望它是另一种颜色(不透明)。有没有一种方法,我可以在我的绘制函数中说,也许使用条件,来检测鼠标此刻是否在移动?即
draw: function(ctx) {
ctx.beginPath();
ctx.rect(this.X, this.Y, this.Width, this.Height);
if(mouseisMoving) {
ctx.fillStyle = "rgba(0,0,0,1)";
}
else {
...
}
ctx.fill();
ctx.stroke();
}
更好的是,改变左键鼠标的颜色。然而,因为我要遍历一个框架并重写一个draw方法,如果我能在draw方法中这样做会更好。本身。这可能吗?
你想要附加一个onmousedown和onmouseup事件监听器到你的画布元素,设置一个布尔值,可以通过你的绘制函数的范围访问。
类似:
var mouse = false;
canvas.onmousedown = function () {
mouse = true;
};
canvas.onmouseup = function () {
mouse = false;
};
var draw = function (ctx) {
if (mouse) {
ctx.fillStyle = "rgba(0,0,0,1)";
}
...
};
相关文章:
- 我可以将javascript绘制函数更改为图像吗
- 如何使用按钮来调用在画布中绘制的函数
- Javascript setInterval()函数在绘制到画布时不起作用
- 如何确保包含多个$.ajax调用的函数完全同步运行,并允许在执行时重新绘制浏览器
- 如何将数据从表单传递到 php 函数到 javascript 以在画布上绘制而不刷新页面
- 我在 JavaScript 中的函数 initCanvas() 正在绘制矩形,但不在正确的位置
- 画布绘制图像函数在画布后插入 img
- 用于在画布上绘制的 JavaScript 函数(从 aspx 页面调用)会导致错误
- 如何将数据从struts2发送到javascript函数以绘制图表
- D3:在1张图中绘制3个csv,每个图都有一个函数,但有2个csv;不起作用
- 通过函数刷新/重新绘制数据表
- 在Javascript中使用相同的函数绘制矩形和正方形
- D3-我需要把我的“;draw”;或“;重新绘制“;函数可在单击时启用重绘
- 一个预加载图像的函数-现在需要绘制它们,但如何绘制
- 画布绘制函数
- 算法:用于将度数解析为x,y的函数,用于绘制SVG饼图
- 不能在javascript中调用绘制函数
- 我可以将数组值插入到画布的图像绘制函数中吗?
- 我可以检测鼠标当前是否在画布绘制函数内移动
- 画布绘制函数以异步方式运行