Leinwandobjekt: Unterschied zwischen den Versionen

Aus AquaSoft Wiki
Zur Navigation springenZur Suche springen
 
Zeile 20: Zeile 20:
  
 
*Objekt-Erzeugung
 
*Objekt-Erzeugung
 +
<code>
 +
  function CreateBitmap: ICanvas;
 +
</code>
 +
*Erzeugt ein Leinwandobjekt durch laden einer Bilddatei. Die Bilddateien werden im Diashow Presets Ordner gesucht.
 +
<code>
 +
function CreateBitmapFromFile(FileName: string): ICanvas;
 +
</code>
  
 
<code></code>  
 
<code></code>  
  
<code></code>
+
<code></code>
 +
 
 +
<code></code>  
  
<code>
+
<code></code>  
  function CreateBitmap: ICanvas;
 
</code>
 
  
 
<code></code>  
 
<code></code>  
  
<code></code>
+
*Breite der Leinwand in Pixeln
 +
 
 +
<code></code>  
  
<code> function CreateBitmapFromFile(FileName: string): ICanvas;</code>
 
Erzeugt ein Leinwandobjekt durch laden einer Bilddatei. Die Bilddateien werden
 
im Diashow Presets Ordner gesucht.
 
 
<code></code>  
 
<code></code>  
  
 
<code></code>  
 
<code></code>  
  
*Breite der Leinwand in Pixeln
+
<code></code>
  
 
<code></code>  
 
<code></code>  
Zeile 50: Zeile 56:
 
  procedure SetWidth(const Value: Integer);
 
  procedure SetWidth(const Value: Integer);
 
</code>
 
</code>
 +
 +
<code></code>
 +
 +
<code></code>
 +
 +
<code></code>
 +
 +
<code></code>
  
 
<code></code>  
 
<code></code>  
Zeile 58: Zeile 72:
  
 
*Höhe der Leinwand in Pixeln
 
*Höhe der Leinwand in Pixeln
 +
 +
<code></code>
 +
 +
<code></code>
 +
 +
<code></code>
 +
 +
<code></code>
  
 
<code></code>  
 
<code></code>  
Zeile 67: Zeile 89:
 
  procedure SetHeight(const Value: Integer);
 
  procedure SetHeight(const Value: Integer);
 
</code>
 
</code>
 +
 +
<code></code>
 +
 +
<code></code>
 +
 +
<code></code>
 +
 +
<code></code>
  
 
<code></code>  
 
<code></code>  
Zeile 75: Zeile 105:
  
 
*Füllfarbe setzen, 32Bit [https://de.wikipedia.org/wiki/Farbtiefe_%28Computergrafik%29 Farbtiefe]
 
*Füllfarbe setzen, 32Bit [https://de.wikipedia.org/wiki/Farbtiefe_%28Computergrafik%29 Farbtiefe]
 +
 +
<code></code>
 +
 +
<code></code>
 +
 +
<code></code>
 +
 +
<code></code>
  
 
<code></code>  
 
<code></code>  
Zeile 83: Zeile 121:
 
   procedure SetBrush(Color: Integer);
 
   procedure SetBrush(Color: Integer);
 
</code>
 
</code>
 +
 +
<code></code>
 +
 +
<code></code>
 +
 +
<code></code>
 +
 +
<code></code>
  
 
<code></code>  
 
<code></code>  
Zeile 91: Zeile 137:
  
 
*Linienfarbe setzen, 32Bit Farbtiefe
 
*Linienfarbe setzen, 32Bit Farbtiefe
 +
 +
<code></code>
 +
 +
<code></code>
 +
 +
<code></code>
 +
 +
<code></code>
  
 
<code></code>  
 
<code></code>  
Zeile 99: Zeile 153:
 
   procedure SetPen(Color: Integer);
 
   procedure SetPen(Color: Integer);
 
</code>
 
</code>
 +
 +
<code></code>
 +
 +
<code></code>
 +
 +
<code></code>
 +
 +
<code></code>
  
 
<code></code>  
 
<code></code>  
Zeile 107: Zeile 169:
  
 
*Rechtecke zeichnen, Angabe der oberen, linken, unteren und rechten Begrenzung in Pixeln, Sowohl Single als auch Integer-Werte möglich
 
*Rechtecke zeichnen, Angabe der oberen, linken, unteren und rechten Begrenzung in Pixeln, Sowohl Single als auch Integer-Werte möglich
 +
 +
<code></code>
 +
 +
<code></code>
 +
 +
<code></code>
 +
 +
<code></code>
  
 
<code></code>  
 
<code></code>  
Zeile 116: Zeile 186:
 
  procedure DrawRectF(top, left, bottom, right: Single);
 
  procedure DrawRectF(top, left, bottom, right: Single);
 
</code>
 
</code>
 +
 +
<code></code>
 +
 +
<code></code>
 +
 +
<code></code>
 +
 +
<code></code>
  
 
<code></code>  
 
<code></code>  
Zeile 124: Zeile 202:
  
 
*Ellipse zeichnen, Angabe der oberen, linken, unteren und rechten Begrenzung (''BoundingBox'') in Pixeln
 
*Ellipse zeichnen, Angabe der oberen, linken, unteren und rechten Begrenzung (''BoundingBox'') in Pixeln
 +
 +
<code></code>
 +
 +
<code></code>
 +
 +
<code></code>
 +
 +
<code></code>
  
 
<code></code>  
 
<code></code>  
Zeile 132: Zeile 218:
 
   procedure DrawEllipse(top, left, bottom, right: Integer);
 
   procedure DrawEllipse(top, left, bottom, right: Integer);
 
</code>
 
</code>
 +
 +
<code></code>
 +
 +
<code></code>
 +
 +
<code></code>
 +
 +
<code></code>
  
 
<code></code>  
 
<code></code>  
Zeile 140: Zeile 234:
  
 
*Ziehe Kreis vom Mittelpunkt unter Angabe des Raduis auf
 
*Ziehe Kreis vom Mittelpunkt unter Angabe des Raduis auf
 +
 +
<code></code>
 +
 +
<code></code>
 +
 +
<code></code>
 +
 +
<code></code>
  
 
<code></code>  
 
<code></code>  
Zeile 148: Zeile 250:
 
   procedure DrawCircleCenter(centerX, centerY, radius: Integer);
 
   procedure DrawCircleCenter(centerX, centerY, radius: Integer);
 
</code>
 
</code>
 +
 +
<code></code>
 +
 +
<code></code>
 +
 +
<code></code>
 +
 +
<code></code>
  
 
<code></code>  
 
<code></code>  
Zeile 156: Zeile 266:
  
 
*Passe maximalen Kreis in angegebene BoundingBox ein
 
*Passe maximalen Kreis in angegebene BoundingBox ein
 +
 +
<code></code>
 +
 +
<code></code>
 +
 +
<code></code>
 +
 +
<code></code>
  
 
<code></code>  
 
<code></code>  
Zeile 164: Zeile 282:
 
   procedure DrawCircle(top, left, bottom, right: Integer);
 
   procedure DrawCircle(top, left, bottom, right: Integer);
 
</code>
 
</code>
 +
 +
<code></code>
 +
 +
<code></code>
 +
 +
<code></code>
 +
 +
<code></code>
  
 
<code></code>  
 
<code></code>  
Zeile 175: Zeile 301:
 
**'''DTop''', '''DLeft''': Linke, obere Koordinate der aktuellen Leinwand. Linke obere Ecke des zu zeichnenden Objektes wird dort liegen  
 
**'''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
 
**'''STop''', '''SLeft''', '''SBottom''', '''SRight''': Ausschnitt des zu zeichnenden Bildes
 +
 +
<code></code>
 +
 +
<code></code>
 +
 +
<code></code>
 +
 +
<code></code>
  
 
<code></code>  
 
<code></code>  
Zeile 183: Zeile 317:
 
   procedure DrawBitmap(Bitmap: ICanvas; DTop, DLeft, STop, SLeft, SBottom, SRight: Integer);
 
   procedure DrawBitmap(Bitmap: ICanvas; DTop, DLeft, STop, SLeft, SBottom, SRight: Integer);
 
</code>
 
</code>
 +
 +
<code></code>
 +
 +
<code></code>
 +
 +
<code></code>
 +
 +
<code></code>
  
 
<code></code>  
 
<code></code>  
Zeile 194: Zeile 336:
 
***TPointF kann mittels TPointF.Create(X, Y) für X, Y als Single angelegt werden  
 
***TPointF kann mittels TPointF.Create(X, Y) für X, Y als Single angelegt werden  
 
**'''FillStyle''': ''OddEven'' oder ''Outer'', Füllmethode
 
**'''FillStyle''': ''OddEven'' oder ''Outer'', Füllmethode
 +
 +
<code></code>
 +
 +
<code></code>
 +
 +
<code></code>
 +
 +
<code></code>
  
 
<code></code>  
 
<code></code>  
Zeile 202: Zeile 352:
 
   procedure DrawPolygon(points: TPointFArray; fillStyle: TFillStyle);
 
   procedure DrawPolygon(points: TPointFArray; fillStyle: TFillStyle);
 
</code>
 
</code>
 +
 +
<code></code>
 +
 +
<code></code>
 +
 +
<code></code>
 +
 +
<code></code>
  
 
<code></code>  
 
<code></code>  

Aktuelle Version vom 7. Dezember 2012, 09:54 Uhr

Das Leinwandbjekt 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;

Methoden

  • Objekt-Erzeugung

 function CreateBitmap: ICanvas;

  • Erzeugt ein Leinwandobjekt durch laden einer Bilddatei. Die Bilddateien werden im Diashow Presets Ordner gesucht.

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);


 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);