javascript - 鼠标在 Canvas 上的位置

标签 javascript jquery html canvas

下面的代码绘制正确,但绘制到错误的坐标。它应该绘制鼠标所在的位置。我无法发现我的错误。谢谢。

JSFIDDLE

container.mousedown(function(e) {

    var parentOffset = $(this).offset(); 
    var x = e.pageX - parentOffset.left;
    var y = e.pageY - parentOffset.top;

    context_temp.beginPath();
    context_temp.moveTo(x, y);
    started = true;
});

container.mousemove(function(e) {

    var parentOffset = $(this).offset(); 
    var x = e.pageX - parentOffset.left;
    var y = e.pageY - parentOffset.top;

    if (started) {
        context_temp.lineTo(x, y);
        context_temp.stroke();
    }
});

container.mouseup(function(e) {

    var parentOffset = $(this).offset(); 
    var x = e.pageX - parentOffset.left;
    var y = e.pageY - parentOffset.top;

    if (started) {
        container.mousemove(x, y);
        started = false;
        update();
    }
});

最佳答案

您正在 CSS 中设置 Canvas 宽度和高度。这只是像拉伸(stretch)图像一样拉伸(stretch) Canvas 。

效果是在错误的地方绘制。

相反,您需要在标签本身上设置 Canvas 尺寸:

<canvas width="400" height="400"></canvas>

关于javascript - 鼠标在 Canvas 上的位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20892632/

相关文章:

javascript - 使用重置 jquery 绑定(bind)的 Knockout 绑定(bind)

html - 我们可以在同一个 div 中使用 row 和 col-md-12 吗?或者它应该在父子 div 中?

javascript - 测验记录正确答案的问题和答案突出显示绿色的问题

jquery - 在 ember 应用程序中使用 jquery

php - 通过 PHP 将选择表单发送到电子邮件

jquery - Bootstrap 多个 span 6s 不相邻出现

javascript - 使用 Dropzone.js 上传的所有文件都具有相同的名称

javascript - 如果调整大小时调用的函数内部条件无法正常工作

javascript - 在 Django 项目中使用 Ajax 的好指南?

javascript - 使用按钮 javascript 的随机卡片/图像