вращение определенных объектов с помощью GDI + - PullRequest
0 голосов
/ 10 мая 2011

Я бы хотел повернуть только одну из фигур в анимации, но метод rotatetransform применяет это вращение ко всему виду. У меня есть несколько форм, которые я хочу оставить неподвижными, и только одну, которую нужно вращать. Я пытался использовать контейнеры, но пока это не помогло. Это Visual Basic на XP, используя .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 Ответ

1 голос
/ 10 мая 2011

Почему бы вам не отследить, какие объекты нарисовать без поворота / перемещения, а затем нарисовать другие поверх этого?

... или ...

Примените вращение / перемещение, нарисуйте эти объекты, затем измените направление вращения / перемещения.

... или ...

Используйте отдельный слой для повернутых / переведенных объектов и раскрасьте ихповерх других объектов.

...