0
사용자가 클릭하고 캔버스 요소에 직각 삼각형을 그리는 데 관심이 있습니다. 그러나 drawLine 함수를 두 번째로 호출하면 첫 번째 항목이 삭제됩니다. 예제 다이어그램은 여기에 있습니다 : right_triangle_draw 무엇을 제공합니까?Jquery로 캔버스에 여러 줄을 동시에 그릴 때 클릭/드래그
$("canvas").mousedown(function(event) {
var totalOffsetX = 0;
var totalOffsetY = 0;
var canvasX = 0;
var canvasY = 0;
var currentElement = this;
do {
totalOffsetX += currentElement.offsetLeft - currentElement.scrollLeft;
totalOffsetY += currentElement.offsetTop - currentElement.scrollTop;
}
while (currentElement = currentElement.offsetParent)
startX = event.pageX - totalOffsetX;
startY = event.pageY - totalOffsetY;
$(this).bind('mousemove', function(e) {
var xdiff = Math.abs(startX - e.pageX + totalOffsetX);
var ydiff = Math.abs(startY - e.pageY + totalOffsetY);
drawLine(startX, startY, e.pageX - totalOffsetX, e.pageY - totalOffsetY, direction);
drawLine(startX, startY, e.pageX - totalOffsetX, startY, direction);
});
}).mouseup(function() {
$(this).unbind('mousemove');
});
function drawLine(x, y, stopX, stopY, direction) {
ctx.strokeStyle = 'rgba(0,155,205,0.8)';
ctx.lineWidth = 3;
ctx.clearRect(0, 0, can.width, can.height);
ctx.beginPath();
ctx.moveTo(x, y);
ctx.lineTo(stopX, stopY);
ctx.closePath();
ctx.stroke();
완벽! 잘 작동합니다. 조언 해주셔서 감사합니다. 내가 투표를 할 수 있다면. – UltrasoundJelly