San*_*ket 6 html5 canvas rotation
我在html5画布应用程序上工作,我在画布上绘制矩形.
我的问题:
当画布旋转时,如何将点击屏幕上的点转换为画布绘制点
为此目的我做了一个小变换类:
https://github.com/simonsarris/Canvas-tutorials/blob/master/transform.js
然后你可以像这样使用它:
var t = new Transform();
console.log(t.transformPoint(5,6)); // will be just [5,6]
// apply the same transformations that you did to the canvas
t.rotate(1);
console.log(t.transformPoint(5,6)); // will be [-2.347, 7.449]
Run Code Online (Sandbox Code Playgroud)
小提琴:
I am affraid that we will have to use math.
使用以下等式将旋转角度的负值旋转一个点以使其在旋转平面上的位置:
nX = x * cos(a) - y * sin(a)
nY = x * sin(a) + y * cos(a)
其中a旋转值为负
你的观点现在是普通的非旋转平面,所以剩下的逻辑就像什么时候一样 angle = 0
这是一个演示小提琴:
这是一个翻译版本:
| 归档时间: |
|
| 查看次数: |
2922 次 |
| 最近记录: |