我是html和JavaScript的新手,正在编写一个处理坐标系中点和线的程序,但你知道html5画布的原点在左上角,我想建立一个以画布中心为原点的坐标系。我尝试使用translate方法,并使用以下方法来打印鼠标所在位置(理想情况下,当鼠标位于画布中心时,我希望它显示0:0),但似乎不起作用:
var mousePos = getMousePos(canvas1, evt);
mouseX = mousePos.x;
mouseY = mousePos.y;
var message = 'Mouse position: ' + mousePos.x + ',' + mousePos.y;
writeMessage(document.getElementById("canvas_prime_coor"), message);
function writeMessage(canvas, message) {
var context = canvas.getContext('2d');
context.clearRect(0, 0, canvas.width, canvas.height);
context.font = '18pt Calibri';
context.fillStyle = 'red';
context.fillText(message, 10, 25);
}
function getMousePos(canvas, evt) {
var rect = canvas.getBoundingClientRect();
return {
x: evt.clientX - rect.left,
y: evt.clientY - rect.top};
}