Verwenden von Zeichenflächen zum Zeichnen

Aus RAD Studio
Wechseln zu: Navigation, Suche

Nach oben zu Grafiken in Komponenten - Index

Die Zeichenflächen-Klasse kapselt Grafiksteuerelemente auf verschiedenen Stufen. Sie bietet High-Level-Funktionen zum Zeichnen von einzelnen Linien, Formen und Text. Die Klasse Vcl.Graphics.TCustomCanvas definiert eine abstrakte Basis für alle in der VCL (Visual Component Library) definierten Zeichenflächenobjekte. Die meisten Steuerelemente in der VCL verfügen über ein zugeordnetes Zeichenflächenobjekt; Ausnahmen bilden Steuerelemente, die im Hintergrund an Windows-Steuerelemente gebunden sind (wie z.B. Vcl.StdCtrls.TButton) und Steuerelemente, die die Zeichenfläche des übergeordneten Objekts zum Zeichnen verwenden (wie z.B. Vcl.ExtCtrls.TPaintBox).


Vcl.Graphics.TCustomCanvas hat zwei Haupt-Nachkommen:


Beachten Sie bitte, dass alle VCL-Steuerelemente den Vcl.Graphics.TCanvas-Nachkommen verwenden, weil die meisten Windows-Betriebssysteme die Direct2D-Zeichenfläche nicht unterstützen. Nur Windows 7 unterstützt Vcl.Direct2D.TDirect2DCanvas.


Konzeptuell ist die Zeichenfläche in drei Abstraktionsstufen unterteilt: Höchste Stufe, Mittlere Stufe und Niedrigste Stufe. Jede Stufe definiert einen speziellen Funktionsumfang. Die höchste Funktionalitätsstufe steht für alle Zeichenflächen - unabhängig von ihren Implementierungen - zur Verfügung. Die mittlere Funktionalitätsstufe ist in den Zeichenflächen-Implementierungen semantisch gleich, kann aber in dem jeweils bereitgestellten public-Interface unterschiedlich sein. Die von der niedrigsten Stufe bereitgestellte Funktionalität ist von der jeweiligen Implementierung abhängig.


Die folgende Tabelle gibt einen Überblick über die drei Abstraktionsstufen. Die Tabelle hat nur Referenzcharakter, weil es Funktionen gibt, die in der höchsten Stufe definiert sind, aber noch nicht in allen Zeichenflächen-Nachkommen implementiert sind.


Höchste Funktionalitätsstufe:

Operation Tools

Zeichnen von Linien und Formen

Methoden, wie z.B. MoveTo, LineTo, Rectangle und Ellipse

Anzeigen und Dimensionieren von Text

Die Methoden TextOut, TextHeight, TextWidth und TextRect

Ausfüllen von Flächen

Die Methoden FillRect und FloodFill


Mittlere Funktionalitätsstufe:

Operation Tools

Anpassen von Text und Grafiken

Die Eigenschaften Pen, Brush und Font


Niedrigste Funktionalitätsstufe:

Operation Tools

Aufrufen von Windows GDI-Funktionen

Die Eigenschaft Handle (Vcl.Graphics.TCanvas)

Aufrufen von Windows Direct2D-Funktionen (Vcl.Direct2D.TDirect2DCanvas)

Die Eigenschaft RenderTarget

Manipulieren von Pixeln

Die Eigenschaft Pixels (Vcl.Graphics.TCanvas)

Kopieren und Zusammenfügen von Bildern

Die Methoden Draw, StretchDraw, BrushCopy und CopyRect; die Eigenschaft CopyMode (Vcl.Graphics.TCanvas)

Fortgeschrittene Zeichenoperationen

DrawEllipse, DrawGeometry, FillRectangle (Vcl.Direct2D.TDirect2DCanvas)


Siehe auch