繁体   English   中英

油漆画布无法正常工作

[英]Paint canvas not working properly

http://www.asifslab.com/reveal.js-master/为什么%20does%20wind%20feel%20cold.html# / 4为什么绘图画布无法正常工作? 绘制的线远离单击的点。 但是,如果我在Reveal.js中使用画布,则它可以完美工作。 http://codepen.io/anon/pen/eEaKh此外,运行擦除功能时,它还会在外面留下白色边框。 我该如何解决这些问题?

只是改变e.pageXe.clientXe.pageYe.clientY因为在你codepen帐户
画布原点和页面原点几乎位于同一位置,但在其他地方则不同。

要计算鼠标位置,您需要减去画布的位置:

这是一种方法(在事件处理程序内部):

var rect = canvas.getBoundingClientRect(),
    x = e.clientX - rect.left,
    y = e.clientY - rect.top;

现在,您的xy将相对于画布。

这是我的绘画应用程序一小部分的副本/部分。 注意,我在计算中使用的是画布的偏移量。 我还具有缩放画布的缩放功能,因此考虑到将其添加到鼠标光标的计算中。

$('canvas').mousemove(function(e) {
    // x and y are globals, x inits to null, mousedown sets x, mouseup returns x to null
    if (x==null) return;
    x = (100/$('#zoom').val())*(e.pageX - $(this).offset().left);
    y = (100/$('#zoom').val())*(e.pageY - $(this).offset().top);

    $('#debug').html(x+', '+y); // constantly update (x,y) position in a fixed div during debugging
});

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM