J'ai une toile chargée avec une image.
Maintenant, je veux marquer des lignes sur une partie de l'image.
Donc, j'ai écrit du code qui dessine une ligne sur la souris.Tracer une ligne sur la souris glisser sur une toile chargée avec une image
function drawLine(x, y) {
ctx.beginPath();
ctx.moveTo(startX, startY);
ctx.lineTo(x, y);
ctx.closePath();
ctx.stroke();
ctx.restore();
}
canvas.onmousedown = function (e) {
ctx.save();
e.preventDefault();
e.stopPropagation();
startX = parseInt(e.clientX - offsetX);
startY = parseInt(e.clientY - offsetY);
isDown = true;
}
canvas.onmousemove = function (e) {
if (!isDown) {
return;
}
e.preventDefault();
e.stopPropagation();
mouseX = parseInt(e.clientX - offsetX);
mouseY = parseInt(e.clientY - offsetY);
drawLine(mouseX, mouseY);
}
canvas.onmouseup = function (e) {
if (!isDown) {
return;
}
e.preventDefault();
e.stopPropagation();
isDown = false;
}
Le problème est maintenant que le glisser crée une série de lignes au lieu d'une.
J'ai essayé de sauvegarder le contexte avant de dessiner et de le restaurer après avoir dessiné, mais cela n'a pas aidé.
Notez que, je ne peux pas effacer le canevas en utilisant clearRect(), car mes données d'image seront perdues. Ici, j'ai utilisé une image fictive. J'ai créé un code fiddle.
Toute aide serait appréciée.
Cordialement,
Rohith
mais non reliés vous essayez de créer un éditeur d'image? Si oui, je suggère que vous consultez paper.js –
Non, Ceci est une visionneuse d'images médicales. – Rohith
Jetez un oeil ici http://jsfiddle.net/s34PL/2/ –