Benutzer mit den meisten Antworten
Animation

Frage
-
Hi,
ich möchte eine Animation programmieren:
Vor einem Image (panel mit BackgroundImage) soll eine 2D-Kinematik
Bewegungen darstellen. Natürlich sollen die Pixel des Images nicht zerstört werden.
Eigentlich möchte ich auf DirectX verzichten.
Habt ihr Tipps?
Danke Michael
Antworten
-
Hallo Michael,
> eigentlich möchte ich nur über einem Bitmap eine Vektorgraphik (Polygon) bewegen ...
Vektorgraphik wäre natürlich diese absolute Domaine von WPF, aber Polygone zeichnen, sollte jetzt für WinForms durch die [Graphics.DrawPolygon-Methode (System.Drawing)] auch nicht das Problem sein. Dann im Paint halt drüberzeichnen, wobei das über Invalidate ggf. mit Timer angtriggert werden müsste - und Du müsstest es beim Großziehen auch transformieren etc..
Kommt - wie gesagt auf die Komplexität der Animation an.
Vielleicht nochmal zu WPF, Du hast selber beim Entwicklen normal nichts mit DirectX-Befehlen (o.ä.) direkt zu tun und alles wird bereits durch .NET Framework installiert. Unter der Haube wird bei 2D normal mittels Direct3D gerendert, aber für Dich sind das eben saubere managed .NET Methoden nach aussen.
> [codeProject-Beispiel] Wie wird das gemacht ohne WPF oder DirectX?das Beispiel nutzt da normales WinForms Painting, rechnet sich in ellenlangen Matrizen die richtigen Werte aus (wie will man das später warten?) und zeichnet das dann, während es sich auch nicht sauber in VS 2008 íntergriert (geschweige denn VS 2010) wird. Hier rate ich davon ab.
ciao Frank- Als Antwort markiert Robert BreitenhoferModerator Mittwoch, 15. September 2010 15:22
Alle Antworten
-
Hallo Minmuel,
es kommt noch etwas auf die Art der Animation an, die für mich noch nicht vollständig beschrieben ist.
Aber soetwas kann man gut (am besten) mit WPF machen [Übersicht über Animationen].
Wenn Du in Windows Forms arbeitest, kann Du dort das ElementHost-Control dafür benutzen, um das WPF-Control zu hosten.
Das heisst aber auch, das intern ggf. DirectX zumEinsatz kommen kann - nur Du merkst ggf. nichts davon.
Für einfachere Dinge (bei WinForms) käme auch ein "animiertes GIF" in Frage - es kommt auf Anordnung in Deiner Form, ob es über etwas anderes herüberanimiert werden soll ... etc an.
ciao Frank -
Hallo Frank,
eigentlich möchte ich nur über einem Bitmap eine Vektorgraphik (Polygon)
bewegen ohne das Teile des Bitmaps verschwinden, wie hier ausgeführt:
http://www.codeproject.com/KB/graphics/2d_poligon_drawer-animato.aspx
Wie wird das gemacht ohne WPF oder DirectX?
Danke Michael
-
Hallo Michael,
> eigentlich möchte ich nur über einem Bitmap eine Vektorgraphik (Polygon) bewegen ...
Vektorgraphik wäre natürlich diese absolute Domaine von WPF, aber Polygone zeichnen, sollte jetzt für WinForms durch die [Graphics.DrawPolygon-Methode (System.Drawing)] auch nicht das Problem sein. Dann im Paint halt drüberzeichnen, wobei das über Invalidate ggf. mit Timer angtriggert werden müsste - und Du müsstest es beim Großziehen auch transformieren etc..
Kommt - wie gesagt auf die Komplexität der Animation an.
Vielleicht nochmal zu WPF, Du hast selber beim Entwicklen normal nichts mit DirectX-Befehlen (o.ä.) direkt zu tun und alles wird bereits durch .NET Framework installiert. Unter der Haube wird bei 2D normal mittels Direct3D gerendert, aber für Dich sind das eben saubere managed .NET Methoden nach aussen.
> [codeProject-Beispiel] Wie wird das gemacht ohne WPF oder DirectX?das Beispiel nutzt da normales WinForms Painting, rechnet sich in ellenlangen Matrizen die richtigen Werte aus (wie will man das später warten?) und zeichnet das dann, während es sich auch nicht sauber in VS 2008 íntergriert (geschweige denn VS 2010) wird. Hier rate ich davon ab.
ciao Frank- Als Antwort markiert Robert BreitenhoferModerator Mittwoch, 15. September 2010 15:22