Erste Malübungen

Einige Delphi - Komponenten (VCL : Visual Component Library) , z.B. TForm, Timage usw. stellen eine Zeichenfläche zur Verfügung, die durch die Eigenschaft Canvas (engl. für Malerleinwand) angesprochen werden kann.  Hier einige Eigenschaften von Canvas:

Brush.Color  : Farbe für den Hintergrund
Pen.Color    : Zeichenfarbe für Line-Befehle
Pen.Style    : Linienart, durchgehend, gestrichelt o.ä.
Pixels[x,y]  : Farbe des Bildpunktes [x,y]

MoveTo(x,y)  : Bewegt den Pen nach [x/y] ohne zu zeichnen
LineTo(x,y)  : Zeichnet eine Strecke zum Punkt [x/y]
Rectangle(x1,y1,x2,y2)         : zeichnet eine Rechteck
Arc(x1,y1,x2,y2,x3,y3,x4,y4)   : In der Delphi-Hilfe nachschauen.
FillRect(Rect(x1,y1,x2,y2))    : füllt das angegebene Rechteck mit 
                                 der eingestellten Farbe 
FloodFill(X, Y: Integer; Color: TColor; FillStyle: TFillStyle);

 

Da es verschiedene Zeichenflächen in einem Projekt geben kann, muß jede Eigenschaft bzw. Methode mit ihrem vollen Namen angesprochen werden: z.B.:  Bild.Canvas.Pen.Color := clRed, was manchmal sehr umständlich sein kann. Deswegen kann man in einer Prozedur folgendes vereinbaren:

procedure TForm1.Button2Click(Sender: TObject);
var:  opc : integer;
     ops : TPenStyle;
begin
with Bild.Canvas do begin
   ops := Pen.Style;    // rettet den alten PenStyle
   opc := Pen.Color;    // rettet die alte Zeichenfarbe
   Pen.Style := psDot;  // gestrichelte Linie
   Pen.Color := clRed;  // Zeichenfarbe rot
   Rectangle(100,100,140,140); // Zeichne ein Rechteck
   Pen.Style := ops;    // stelle alten PenStyle wieder her
   Pen.Color := opc;    // stelle alte Zeichenfarbe wieder her
end;
end;

Und hier das gesamte Projekt grafiktest.zip

 

 

Aufgaben:

  1. Erstelle ein quadratisches Liniengitter auf einer Zeichenfläche, jedes Quadrat z.B. 25 x 25 Pixel groß.

  2. Färbe die kleinen Quadrate mit verschiedenen Mustern und Farben.

  3. Muster und Farbe sollen einstellbar sein (z.B. durch irgendwelche Umschalter, Knöpfe o.ä.)

  4. Laß das Feld mit zufälligen Farben einfärben z.B. so:

 

Zurück zu Delphi

© Dietrich Praclik