【发布时间】:2014-04-30 04:14:14
【问题描述】:
我是 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};
}
【问题讨论】:
标签: javascript html canvas