我想只旋转动画中的一个形状,但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
有什么想法吗?
答案 0 :(得分:1)
为什么不跟踪要绘制的对象而不进行旋转/平移,然后在其上绘制其他对象?
...或...
应用旋转/平移,绘制这些对象,然后反转旋转/平移。
...或...
为旋转/翻译的对象使用单独的图层,并将其绘制在其他对象的顶部。