【发布时间】:2014-08-18 14:53:26
【问题描述】:
我有一个 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。
【问题讨论】:
-
stackoverflow.com/a/20061533/856501 可能会有所帮助,这是我关于获取坐标的帖子,在使用 css 缩放时有效。
标签: javascript css canvas offset aspect-ratio