Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi Animierte Grafik + Text (https://www.delphipraxis.net/82984-animierte-grafik-text.html)

BrainCracked 23. Dez 2006 18:34


Animierte Grafik + Text
 
Hallo,
Folgende Situation:
Ich habe in meinem Programm ein Bild von einem Schribtisch, jetzt will ich, dass es so aussieht, also ob auf dem Tisch ein Blatt liegt, wo Text draufsteht (den sollte man während des Programmes ändern können). Dieses Blatt soll nun vom Tisch abheben und in den Vordergrund schweben, sodass man frontal auf das Blatt gucken kann und lesen kann, was dort draufsteht.

Aber wie realisiere ich das ganze am besten? 3D-Texturen?


MfG
BrainCracked

Der_Unwissende 28. Dez 2006 11:35

Re: Animierte Grafik + Text
 
Hi,
was für eine Technik steht dir denn zur Verfügung? Möchtest du das ganze mit 3D-Beschleunigung (DirectX bzw. OpenGL) realisieren oder 2D (Windows GDI). Beides ist möglich, der Aufwand ist nur unterschiedlich hoch. Sowohl DirectX als auch OpenGL bieten natürlich die Möglichkeit, dass du auch nur 2D arbeitest, können aber halt auch mehr (z.B. werden Texturen unterstützt). Zudem findest du für Delphi ein paar gute Kapselungen, die dir die Arbeit erleichtern können.
Das gleiche mittels GDI zu realisieren könnte etwas schwerer sein. Hier müsstest du (afaik) dir wirklich die Animation überlegen und das Bild in jedem Schritt neu zeichnen. Objekte und Beziehungen zueinander sind hier nicht vorgesehen (kann natürlich sein, dass es ein gutes Framework gibt).
Günstiger und schneller solltest du allerdings mit den beiden anderen Lösungen zu Ziel kommen. Am besten schaust du hier erstmal, ob diese für dich in Frage kommen. Sollte dies der Fall sein, schau dir einfach mal ein paar Kapselungen zu denen an und beurteile selbst, was dir da am ehesten zusagt. Natürlich findest du auch im Forum (und überall sonst) eine Menge an Diskussion dazu ob nun OpenGL oder DirectX besser ist, aber um das Fazit vorweg zunehmen, eigentlich nehmen sie sich nicht so viel. Wichtiger ist, dass du gut mit der gewählten Lösung klar kommst, denn nur so holst du wirklich mehr raus.

Gruß Der Unwissende

BrainCracked 28. Dez 2006 12:25

Re: Animierte Grafik + Text
 
ALso erstmal danke ;)
Ich habe diese Sache schon in einem anderen Delphi-Forum gepostet, da die MySQL-DB ja in letzter Zeit nicht so toll lief.
Da bin ich dann zu dem Entschluss gekommen, dass ich die Animation mit dem auf ein zukommenden Blatt besser weglasse und dies erst in der nächsten Version behandeln werde.
Also muss ich nur noch einen Text zum "liegen" bingen, sodass es dann so aus sieht, also ob der Text auf dem Blatt steht.
Wäre es da mit dem Windows GDI leichter oder OpenGL?

Der_Unwissende 28. Dez 2006 12:34

Re: Animierte Grafik + Text
 
Zitat:

Zitat von BrainCracked
Also muss ich nur noch einen Text zum "liegen" bingen, sodass es dann so aus sieht, also ob der Text auf dem Blatt steht.
Wäre es da mit dem Windows GDI leichter oder OpenGL?

Hm, ich würde dir hier ehrlich gesagt zu OpenGL raten. Hier hast du einfach den Vorteil, dass du (in den Kapselungen) echte Objekte mit Beziehungen zueinander erstellen kannst. Konkret denke ich dabei an GLScene (die Kapselung die ich bisher verwendet habe). Natürlich gilt hier wieder, dass du schauen musst, welche Kapselung dir am besten gefällt, nicht blind auf meine Unwissenheit vertrauen :wink:

Jedenfalls kannst du (z.B.) in GLScene ein einfaches Rechteck als Blatt verwenden und hier einen Text als Kind auf dieses Rechteck legen. Dadurch, dass dieser Text ein Kind des Rechtecks ist, wird er quasi verankert. Die Position (aber eben auch die Drehungen, Lage im Raum, etc.) wirken sich immer relativ aus. Bewegst du also das Blatt, wird der Text gleich mitbewegt. Zudem hast du (in dieser Kapselung) auch gleich die einfache Möglichkeit die Neigung im Raum zu ändern (was dann ja dem umlegen des Blattes entspricht).

Während dies alles von deiner Grafikkarte berechnet wird, fällt mir kein so komfortabler Weg für die GDI Variante ein. Hier müsstest du es eher selbst berechnen (oder eine Komponente suchen, die dir Text komfortabel im Raum dreht). Somit würde ich dir klar zu OpenGL (aber eben auch Alternativ noch DirectX) und hier der Kapselung deiner Wahl raten.


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:40 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz