鼠标在缩放画布上的位置

收缩

我有一块100%width的帆布height

它是我正在使用的远程桌面的一部分。目前,我陷入困境是因为鼠标位置无法正确反映画布上的位置。

当我将数据发送到桌面时,我必须补偿不同的屏幕尺寸。

var x = Math.floor( mouse.x / canvas.width * 100 ); 
var y = Math.floor( mouse.y / canvas.height * 100 );

但是,当我尝试使用这些xz在画布上绘制时,我没有得到正确的位置。

我需要画布/尝试使用百分比的原因是它将成为视频顶部的覆盖。用户必须在视频周围绘制一个矩形以获得偏移量,因为视频通常会显示黑色的侧边栏以显示宽高比。

这是一个未将矩形放置在正确位置的画布示例:

http://jsfiddle.net/74CP8/

编辑:仅供参考:由于jsfiddle的工作方式明显,Firefox似乎无法正确运行jsfiddle。尝试使用Chrome。

托马斯·小时里尔

我不确定您想要什么,但是这里有2种可能的解决方案:

第一个允许您在缩放的画布中正确移动鼠标

http://jsfiddle.net/74CP8/1/

第二个允许您从左上角到右下角绘制一个矩形。

http://jsfiddle.net/74CP8/2/

您的问题在这里:

ctx.rect(x,y,x+10, y+ 10)

您以x和y为百分比,而以像素为单位。

如有其他疑问,请不要犹豫。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章