マウスクリックで複数の線(前の線と1つの座標を共有し、次の線と1つの座標を共有するいくつかの連続した線を意味します)を描画したいと思います。mousemove
私は現在、jQueryのイベントを通じてこれを達成しています:
var worksheetCanvas = $('#worksheet-canvas');
var context = worksheetCanvas.get(0).getContext("2d");
var mouse = {
x: -1,
y: -1
}
var parentOffset = $('#canvas-holder').parent().offset();
worksheetCanvas.click(function(e) {
mouse.x = e.pageX - parentOffset.left;
mouse.y = e.pageY - parentOffset.top;
context.beginPath();
context.moveTo(mouse.x, mouse.y);
$(this).mousemove(function(k) {
context.strokeStyle = "rgb(180,800,95)";
context.lineTo(k.pageX - parentOffset.left, k.pageY - parentOffset.top);
context.closePath();
context.stroke();
})
})
しかし、この例で示すことができるように、マウスカーソルを移動すると、線の跡が残ります。これを削除して、別の点を定義する必要がある1本の可動線の印象を作成する必要があります。不要な行をクリアしようとしましたが、2DコンテキストにはclearRect()
メソッドしかありませんが、のようなものを探していclearPath()
ます。