Guten Abend ,
ich habe wieder eine Frage an euch.
Ich mache gerade ein kleines Projekt und möchte etwas Zeichnen und Verschieben (+Skalieren).
Jedoch habe ich einen (Genauigkeits-) Fehler gefunden und möchte fragen ob es hier eine Lösung gibt.
Hier mal ein kurzer Ausschnitt was ich mache:
Wenn ich jetzt in der Liste "draw" reinschaue, dann wird beim "X1" statt "421,81215656" wird "421,812134" berechnet.
Wie man sieht, ist die Berechnung beim Transformieren (also das Translate) ja sehr ungenau.
Desweiteren wenn ich jetzt alles rückgängig mache, kommt folgendes:
In draw steht beim "X1" statt "398,2465" - "398,24646"
Wenn ich also mehrmals ins Plus verschiebe und dann wieder alles zurück, wird es noch ungenauer..
Ist das bei GDI+ normal ? Gibt es eine Abhilfe ?
Würde mich auf ein paar Inputs freuen
Danke Gruß
ich habe wieder eine Frage an euch.
Ich mache gerade ein kleines Projekt und möchte etwas Zeichnen und Verschieben (+Skalieren).
Jedoch habe ich einen (Genauigkeits-) Fehler gefunden und möchte fragen ob es hier eine Lösung gibt.
Hier mal ein kurzer Ausschnitt was ich mache:
Quellcode
- Dim draw As New List(Of GraphicsPath)
- Dim ZoomMatrix As New Matrix
- Dim myPath1 As New Drawing2D.GraphicsPath()
- myPath1.StartFigure()
- 'myPath1.AddLine(X1,Y1,X2,Y2)
- myPath1.AddLine(398.2465, 100.3343, 633.5666, 100.3343)
- draw.Add(myPath1)
- ZoomMatrix.Translate(23.565656565, 100, MatrixOrder.Append)
- ' Jedes Shape in der Liste wird mit der Zoommatrix transformiert
- For Each shape As Drawing2D.GraphicsPath In draw
- shape.Transform(ZoomMatrix)
- Next
Wenn ich jetzt in der Liste "draw" reinschaue, dann wird beim "X1" statt "421,81215656" wird "421,812134" berechnet.
Wie man sieht, ist die Berechnung beim Transformieren (also das Translate) ja sehr ungenau.
Desweiteren wenn ich jetzt alles rückgängig mache, kommt folgendes:
In draw steht beim "X1" statt "398,2465" - "398,24646"
Wenn ich also mehrmals ins Plus verschiebe und dann wieder alles zurück, wird es noch ungenauer..
Ist das bei GDI+ normal ? Gibt es eine Abhilfe ?
Würde mich auf ein paar Inputs freuen
Danke Gruß
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Jaask0“ ()