我有一块100%width
和的帆布height
。
它是我正在使用的远程桌面的一部分。目前,我陷入困境是因为鼠标位置无法正确反映画布上的位置。
当我将数据发送到桌面时,我必须补偿不同的屏幕尺寸。
var x = Math.floor( mouse.x / canvas.width * 100 );
var y = Math.floor( mouse.y / canvas.height * 100 );
但是,当我尝试使用这些x
和z
值在画布上绘制时,我没有得到正确的位置。
我需要画布/尝试使用百分比的原因是它将成为视频顶部的覆盖。用户必须在视频周围绘制一个矩形以获得偏移量,因为视频通常会显示黑色的侧边栏以显示宽高比。
这是一个未将矩形放置在正确位置的画布示例:
编辑:仅供参考:由于jsfiddle的工作方式明显,Firefox似乎无法正确运行jsfiddle。尝试使用Chrome。
我不确定您想要什么,但是这里有2种可能的解决方案:
第一个允许您在缩放的画布中正确移动鼠标
第二个允许您从左上角到右下角绘制一个矩形。
您的问题在这里:
ctx.rect(x,y,x+10, y+ 10)
您以x和y为百分比,而以像素为单位。
如有其他疑问,请不要犹豫。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句