Einzelnen Beitrag anzeigen

blackfin
(Gast)

n/a Beiträge
 
#2

AW: GDI+ oder graphics32

  Alt 9. Sep 2010, 00:32
GDI+ und Graphics32 sind erstmal nicht das gleiche an sich, das ist ein wenig ein Apfel / Birnen-Vergleich
GDI+ ist eine von Windows bereitgestelle API zum Zeichnen, Graphics32 ist eine Sammlung von Funktionen, die einem das Leben in der normalen GDI-Welt (ohne +) etwas leichter machen.

Das heisst aber auch, dass sich die beiden nicht gegenseitig ausschliessen.
Du kannst die Graphics32 installieren und diese verwenden und damit sogar mit GDI+-Techniken etwas zeichnen lassen oder Graphics32 sogar teilweise auf GDI+ erweitern.

Die Frage "was nehme ich lieber" kann man so pauschal nicht beantworten.
Es gibt Dinge, die lassen sich wahrscheinlich leichter mit Graphics32 realisieren, andere wiederum leichter oder schneller mit nativen GDI+ Techniken.
Dazu müsste man genau wissen, was du genau "aufhübschen" willst und im Einzelfall eben entscheiden, was die beste Technik dafür ist.

Das Abraten von OpenGL / DirectX ist sicher richtig, wenn es darum geht, alte Anwendungen nur aufzuhübschen.
Sobald du eine der beiden genannten API's verwendest, kannst du den kompletten GUI-Code neu schreiben, da dort nichts mehr so funktioniert wie in der VCL und OpenGL / DirectX auch nicht damit mischbar ist. (Beispiel: Du kannst kein TLabel oder keine TCombobox mit OpenGL nutzen, sondern musst dir solche GUI-Elemente meist selbst neu schreiben).
Allerdings kannst du im Gegenzug mit OpenGL / DirectX wesentlich mehr machen als mit GDI+, nämlich grafisch so ziemlich alles, was deinem Kopf so einfällt Eine alte Anwendung damit aufzuhübschen würde aber wirklich nur dann Sinn machen, wenn von vornherein wirklich jeglicher GUI-Code von der Programm-Logik getrennt ist. (Ich weiss, das versteht sich ja natürlich bei einem guten Programm-Konzept von selbst, nicht wahr? )
Tatsache ist aber nach meiner Erfahrung, dass die wenigsten Delphi-Anwenungen so geschrieben wurden
Sollte das aber bei dir der Fall sein, kannst du wirklich überlegen, ein komplettes GUI-Rework zu schreiben und OpenGL / DirectX verwenden.
Allerdings wird das erst einmal eine sehr sehr lange Einarbeitungszeit in diese API's voraussetzen, wenn du noch nie damit gearbeitet hast, da das Arbeiten damit alles andere als trivial ist.

Geändert von blackfin ( 9. Sep 2010 um 00:39 Uhr)
  Mit Zitat antworten Zitat