Offscreen-Bitmaps erzeugen und verwalten

Aus RAD Studio
Wechseln zu: Navigation, Suche

Nach oben zu Offscreen-Bitmaps


Bei der Erzeugung von komplexen grafischen Bildern sollte man es vermeiden, diese direkt auf dem Bildschirm darzustellen. Anstatt auf der Zeichenfläche für ein Formular oder Steuerelement zu zeichnen, können Sie ein Bitmap-Objekt im Speicher erstellen, auf dessen virtueller Zeichenfläche zeichnen und dann das vollständige Bild auf die Onscreen-Zeichenfläche kopieren.

Die häufigste Verwendung findet ein Offscreen-Bitmap in der Methode Paint eines Grafik-Steuerelements. Wie bei jedem temporären Objekt sollte das Bitmap mit einem try..finally-Block geschützt werden:

type
  TFancyControl = class(TGraphicControl)
  protected
    procedure Paint; override;                               { override the Paint method }
  end;
procedure TFancyControl.Paint;
var
  Bitmap: TBitmap;                        { temporary variable for the off-screen bitmap }
begin
  Bitmap := TBitmap.Create;                                { construct the bitmap object }
  try
    { draw on the bitmap }
    { copy the result into the control's canvas }
  finally
    Bitmap.Free;                                             { destroy the bitmap object }
  end;
end;