canvas
에 선 그리기를 구현했습니다. 하지만 문제가 생겼습니다 : 선폭이 작 으면 (3), 곡선이 좋게 보일 때
;
선폭이 큰 경우 (20), 끊김으로 인해 곡선이 좋지 않은 것처럼 보입니다.캔버스 : 끊김없는 곡선
canvas.node.onmousemove = function (e) {
if (!canvas.isDrawing) {
return;
}
var x = e.pageX - this.offsetLeft;
var y = e.pageY - this.offsetTop;
ctx.beginPath();
ctx.moveTo(canvas.lastX, canvas.lastY);
ctx.strokeStyle = '#000000';
ctx.lineWidth = self.lineWidth();
ctx.lineTo(x, y);
ctx.stroke();
ctx.closePath();
canvas.lastX = x;
canvas.lastY = y;
};
canvas.node.onmousedown = function (e) {
canvas.isDrawing = true;
canvas.lastX = e.pageX - this.offsetLeft;
canvas.lastY = e.pageY - this.offsetTop;
};
canvas.node.onmouseup = function (e) {
canvas.isDrawing = false;
};
어떻게 큰 선에서 휴식을 방지하고 내 라인은 고체 만들 수 있습니까?
감사합니다.
표시 할 때 시작 및 종료 경로를 사용하더라도 도움이되지 않습니다. –
@SergeyGavruk 'moveTo'가 문제입니다. 내 대답에 업데이트 된 코드를 사용하십시오. –
그래,이게 도움이 되긴하지만 병렬 드로잉을 허용해야하기 때문에'onmousemove'에서'beginpath'와'closepath'를 사용합니다. 소켓으로 좌표를 받고 onmousemove가 진행되는 동안 이것을 렌더링해야합니다. –