vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Blitzschnelles Erstellen von grafischen Diagrammen!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

VB.NET - Fortgeschrittene
GDI+: Problem mit RotateAt von GraphicsPath 
Autor: Ortech
Datum: 06.12.10 15:39

hallo

möchte einen GraphicsPath, der mit einer z.B. Ellipse gefüllt ist, per Mausklick um 1 Grad rotieren lassen.
Also LinksKlick ist Rotiere nach Links und Rechtsklick Rotiere nach rechts.

also:

Imports System
Imports System.Drawing.Drawing2D
Imports System.IO
Imports System.Runtime.Serialization.Formatters.Binary
 
Public Class Form1
 
Dim mGP As New GraphicsPath
Dim mMatrix As New Matrix
 
Private Sub Form1_Load(ByVal seder As System.Object, ByVal e As _
  System.EventArgs) Handles MyBase.Load
 
mGP.AddEllipse(New RectangleF(50, 50, 100, 50))
 
End Sub
 
Private Sub PB1_MouseDown(ByVal sender As System.Object, ByVal e As _
  MouseEventArgs) Handles PB1.MouseDown
 
                If e.Button = Windows.Forms.MouseButtons.Left Then
                    mMatrix.RotateAt(-1, New PointF(100, 100))
                ElseIf e.Button = Windows.Forms.MouseButtons.Right Then
                    mMatrix.RotateAt(1, New PointF(100, 100))
                End If
 
                mGP.Transform(mMatrix)
 
                Refresh()
 
    End Sub
 
 Private Sub Form1_Paint(ByVal sender As Object, ByVal e As _
   System.Windows.Forms.PaintEventArgs) Handles Me.Paint
 
        Dim g As Graphics = PB1.CreateGraphics
 
 
        g.DrawPath(Pens.Black, mGP)
 
    End Sub
End Class
Das einzig Blöde ist, dass, wenn ich z.B. 5 mal nach links rotiere und danach nach rechts rotiere, macht der RotateAt Befehl 4x noch eine Linksroation. Erst wenn ich dann nochmal nach rechts rotiere, rotiert er nach rechts. Er muss sozusagen, zuerst die vorherigen ROtationen "abbauen".

Wie aber kann ich das verhindern bzw. umgehen?

mfg Alois
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
GDI+: Problem mit RotateAt von GraphicsPath1.404Ortech06.12.10 15:39
Re: GDI+: Problem mit RotateAt von GraphicsPath1.028GPM06.12.10 17:16
Re: GDI+: Problem mit RotateAt von GraphicsPath1.056GPM06.12.10 19:28
Re: GDI+: Problem mit RotateAt von GraphicsPath1.057Ortech07.12.10 10:42
Re: GDI+: Problem mit RotateAt von GraphicsPath1.019GPM07.12.10 17:26

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel