用GDI +旋转特定对象

时间:2011-05-09 21:13:11

标签: vb.net gdi+ rotation

我想只旋转动画中的一个形状,但rotatetransform方法将此旋转应用于整个视图。我有几种形状,我想保持静止,只有一个应该旋转。我一直在尝试使用容器,但到目前为止这没有帮助。这是XP上的visual basic,使用.net gdi +,system.drawing。我正在使用translatetransform建立一个旋转中心。

Private Sub ellipse()

    myBuffer.Graphics.Clear(Color.White)

    myBuffer.Graphics.TranslateTransform(200, 400)
    If plus_clicked Then
        myBuffer.Graphics.RotateTransform(1)
    Else
        myBuffer.Graphics.RotateTransform(-1)
    End If

    myBuffer.Graphics.DrawEllipse(Pens.Blue, -44, -44, 300, 300)

    myBuffer.Graphics.TranslateTransform(-200, -400)


End Sub

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

为什么不跟踪要绘制的对象而不进行旋转/平移,然后在其上绘制其他对象?

...或...

应用旋转/平移,绘制这些对象,然后反转旋转/平移。

...或...

为旋转/翻译的对象使用单独的图层,并将其绘制在其他对象的顶部。