Я пытаюсь рисовать с помощью мыши над холстом HTML5, но единственный способ, который, кажется, работает хорошо, - если холст находится в позиции 0,0 (верхний левый угол), если я изменю позицию холста, по какой-то причине он не рисует, как должен. Вот мой код.
function createImageOnCanvas(imageId){
document.getElementById("imgCanvas").style.display = "block";
document.getElementById("images").style.overflowY= "hidden";
var canvas = document.getElementById("imgCanvas");
var context = canvas.getContext("2d");
var img = new Image(300,300);
img.src = document.getElementById(imageId).src;
context.drawImage(img, (0),(0));
}
function draw(e){
var canvas = document.getElementById("imgCanvas");
var context = canvas.getContext("2d");
posx = e.clientX;
posy = e.clientY;
context.fillStyle = "#000000";
context.fillRect (posx, posy, 4, 4);
}
Часть HTML
<body>
<div id="images">
</div>
<canvas onmousemove="draw(event)" style="margin:0;padding:0;" id="imgCanvas"
class="canvasView" width="250" height="250"></canvas>
Я прочитал там способ создания простой функции в JavaScript, чтобы получить правильную позицию, но я понятия не имею, как это сделать.