내 캔버스에서 그림을 그리려면 페인트에서 타원 옵션과 같은 것을 사용하고 싶습니다. 나는 이것을 부분적으로 성취했다. 문제는 내가 원의 반경을 얻을 수 없다는 것입니다. 현재 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 wrapped) 터치 이벤트. mouseup, mousemove를 touchstart, touchmove events로 대체하여 코드를 시험해 보았습니다. 이러한 이벤트는 로그를 볼 수 있지만 타원/원을 그릴 수 없기 때문에 트리거됩니다. 터치 이벤트를 위해 내가해야 할 특별한 것이 있습니까?사전에 감사드립니다 (저는 캔버스를 처음 사용합니다 :)) – hashcoder