【发布时间】:2012-12-08 18:34:13
【问题描述】:
我有一个画布,可以在上面绘制图像。图像可以在绘制之前旋转一定的度数(EG:30)。
我需要绘制一个框来包含绘制的图像;这很容易,但宽度和高度会根据图像旋转的角度而变化。
我在这里看到了一些非常相似的问题,但我无法将答案实现到我的代码中,因为它们要么是用另一种语言(如 ActionScript)编写的,要么它们正在旋转 div 或不在画布内的其他元素。我一直无法计算出它背后的主要数学原理。
我已经为你创建了一个 JSFiddle 来适应:
我在这个 JSFiddle 中创建了两个函数:
drawImageToCanvasRotated(URL, X, Y, Angle);
drawRectangle(X, Y, Width, Height);
您应该注意,位置值是针对图像/矩形的中心的。
谢谢。
【问题讨论】:
-
这不是纯几何吗?边界矩形的大小不会是 [width*(sin(x)+cos(x)), height*(sin(x)+cos(x))]?
标签: javascript html canvas