QML画布旋转椭圆

时间:2015-03-19 10:32:51

标签: html5 canvas qml

我在QML画布上绘制一个椭圆,我希望能够旋转它。除context.rotate(angle)之外还有办法做到这一点吗?据我了解,这将旋转整个画布。有没有办法只旋转一个子路径?

我有点惊讶于椭圆是由一个中心以及宽度和高度定义的,而不是两个焦点。这会让事情变得容易多了。

1 个答案:

答案 0 :(得分:1)

GrecKo的评论绝对正确,只是添加了代码以防其他人需要摘要。移动坐标系(平移),将原点放在椭圆的中心,然后旋转并将其移回原位。

 var context = canvas.getContext("2d")
 context.save()
 context.translate(ellipse.center.x, ellipse.center.y)
 context.rotate((Math.PI / 180) * degrees)
 context.translate(-ellipse.center.x, -ellipse.center.y)
 context.restore()
 canvas.requestPaint()