ICanvas (Leinwandobjekt)

1. Definition

Das Leinwandobjekt ist vom Typ ICanvas und leitet von ISlideShowObject ab. Es bietet die Möglichkeit, einfache geometrische Formen zeichnen zu lassen.

ICanvas inherits from ISlideShowObject
  function GetWidth: Integer;
  procedure SetWidth(const Value: Integer);  
  function  GetHeight: Integer;
  procedure SetHeight(const Value: Integer); 
  procedure SetBrush(Color: Integer); 
  procedure SetPen(Color: Integer);
  procedure DrawRect(top, left, bottom, right: Integer);
  procedure DrawRectF(top, left, bottom, right: Single);
  procedure DrawEllipse(top, left, bottom, right: Integer);
  procedure DrawBitmap(Bitmap: ICanvas; DTop, DLeft, STop, SLeft, SBottom, SRight: Integer);
  procedure DrawPolygon(points: TPointFArray; fillStyle: TFillStyle);
end;

2. Methoden

  • Objekt-Erzeugung

    function CreateBitmap: ICanvas;
    
  • Erzeugt ein Leinwandobjekt durch laden einer Bilddatei. Die Bilddateien werden im DiaShow-Presets-Ordner gesucht.

    function CreateBitmap: ICanvas;
    function CreateBitmapFromFile(FileName: string): ICanvas; 
    
  • Breite der Leinwand in Pixeln

    function GetWidth: Integer;
    procedure SetWidth(const Value: Integer);
    
  • Höhe der Leinwand in Pixeln

    function  GetHeight: Integer;
    procedure SetHeight(const Value: Integer);
    
  • Füllfarbe setzen, 32Bit Farbtiefe

    procedure SetBrush(Color: Integer);
    
  • Linienfarbe setzen, 32Bit Farbtiefe

    procedure SetPen(Color: Integer);
    
  • Rechtecke zeichnen, Angabe der oberen, linken, unteren und rechten Begrenzung in Pixeln, Sowohl Single als auch Integer-Werte möglich

    procedure DrawRect(top, left, bottom, right: Integer);
    procedure DrawRectF(top, left, bottom, right: Single);
    
  • Ellipse zeichnen, Angabe der oberen, linken, unteren und rechten Begrenzung (BoundingBox) in Pixeln

    procedure DrawEllipse(top, left, bottom, right: Integer);
    
  • Ziehe Kreis vom Mittelpunkt unter Angabe des Raduis auf

    procedure DrawCircleCenter(centerX, centerY, radius: Integer);
    
  • Passe maximalen Kreis in angegebene BoundingBox ein

    procedure DrawCircle(top, left, bottom, right: Integer);
    
  • Zeichne anderes Bild oder einen Ausschnitt dessen auf Leinwand

    • Bitmap: Anderes Leinwandobjekt
    • DTop, DLeft: Linke, obere Koordinate der aktuellen Leinwand. Linke obere Ecke des zu zeichnenden Objektes wird dort liegen
    • STop, SLeft, SBottom, SRight: Ausschnitt des zu zeichnenden Bildes
    procedure DrawBitmap(Bitmap: ICanvas; DTop, DLeft, STop, SLeft, SBottom, SRight: Integer);
    
  • Zeichne Polygone

    • Points: array of TPointF, Liste von Punkten
      • TPointF kann mittels TPointF.Create(X, Y) für X, Y als Single angelegt werden
    • FillStyle: OddEven oder Outer, Füllmethode
    procedure DrawPolygon(points: TPointFArray; fillStyle: TFillStyle);