Grafik im Überblick

Aus RAD Studio
Wechseln zu: Navigation, Suche

Nach oben zu Grafiken in Komponenten - Index

Delphi kapselt die Windows-GDI auf verschiedenen Ebenen. Für Komponentenentwickler ist die Frage am wichtigsten, wie Komponenten ihre Bilder auf dem Bildschirm darstellen. Beim direkten Aufruf von GDI-Funktionen müssen Sie über ein Handle für einen Gerätekontext verfügen, in dem Sie verschiedene Zeichenwerkzeuge wie etwas Stifte, Pinsel und Schriften ausgewählt haben. Nach dem Rendern der Grafiken müssen Sie den ursprünglichen Zustand des Gerätekontexts wiederherstellen, bevor Sie diesen freigeben.

Damit Sie Grafiken nicht auf einer Detailebene bearbeiten müssen, stellt Delphi eine einfache und doch komplette Schnittstelle zur Verfügung: die Komponenteneigenschaft Canvas. Die Zeichenfläche stellt sicher, dass ein gültiger Gerätekontext gegeben ist, und gibt diesen bei Nichtverwendung wieder frei. Die Zeichenfläche besitzt außerdem ihre eigenen Eigenschaften, die den aktuell gewählten Stift, den aktuellen Pinsel und die aktuelle Schriftart repräsentieren.

Die Zeichenfläche verwaltet diese Ressourcen, so dass Sie sich nicht um die Erstellung, Auswahl und Freigabe von Dingen wie Stift-Handles befassen müssen. Sie teilen der Zeichenfläche einfach mit, welchen Stift Sie benutzen möchten, und sie kümmert sich um alles Übrige.

Die Verwaltung der Grafikressourcen durch Delphi bietet unter anderem den Vorteil, dass Ressourcen für die spätere Verwendung zwischengespeichert werden, wodurch die Ausführung häufig zu wiederholender Operationen beschleunigt wird. Wenn Sie beispielsweise ein Programm verwenden, das wiederholt eine bestimmte Art von Stift erzeugt, verwendet und freigibt, müssen diese Schritte immer wieder ausgeführt werden. Da Delphi Grafikressourcen zwischenspeichert, befindet sich das Werkzeug, das Sie wiederholt einsetzen, wahrscheinlich bereits im Zwischenspeicher, und Delphi kann auf ein vorhandenes Werkzeug zurückgreifen, statt dieses Werkzeug erneut erstellen zu müssen.

Ein Beispiel hierfür ist eine Anwendung, in der Dutzende von Formularen geöffnet sind, die jeweils Hunderte von Steuerelemente enthalten. Jedes dieser Steuerelemente kann eine oder mehrere TFont-Eigenschaften haben. Obwohl eine solche Anwendung theoretisch über Hunderte oder Tausende von Instanzen des TFont-Objekts verfügen könnte, werden in den meisten Fällen dank eines Schriftenzwischenspeichers lediglich zwei oder drei Handles auf Schriftarten verwendet.