最佳答案
我试图用鼠标在一个 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 中创建一个简单的函数来获得正确的位置,但是我不知道该怎么做。