我想要绘制在画布上的绘画中的椭圆选项。我已经部分实现了这一点。问题是我不能得到圆的半径,目前我已经硬编码到15。我也想绘制椭圆(与油漆相同)不是确切的圆。 这是我使用鼠标事件在画布上绘制圆的代码。请帮我用代码实现我上面提到的要求。使用鼠标事件在HTML5画布上绘制圆/椭圆
function tool_circle() {
var tool = this;
this.started = false;
this.mousedown = function (ev) {
tool.started = true;
tool.x0 = ev._x;
tool.y0 = ev._y;
};
this.mousemove = function (ev) {
if (!tool.started) {
return;
}
context.fillStyle = 'red';
var distance = Math.sqrt(Math.pow(tool.x0 - ev._x, 2) + Math.pow(tool.y0 - ev._y));
context.beginPath();
context.arc(tool.x0, tool.y0,15, 0, Math.PI * 2, false);
context.stroke();
context.fill();
};
this.mouseup = function (ev) {
if (tool.started) {
tool.mousemove(ev);
tool.started = false;
img_update();
}
};
}
@markE你好,我想做同样的事情了移动应用程序(Phonegap包裹)触摸事件。我试过你的代码,只是通过替换mouseup,mousemove与touchstart,touchmove事件。这些事件正在触发,因为我可以看到日志,但不会绘制椭圆/圆。我需要为触摸事件做些什么特别的事情?在此先感谢(我第一次使用画布:)) – hashcoder