LAZARUS


  GRAFIKA NA PŁÓTNIE FORMULARZA - GRAPHIC ON CANVAS FORM (canvas)


♦ KOLOR PISAKA I WYPEŁNIENIA - PEN AND BRUSH COLORS ♦

   canvas.pen.color := clRed;
   canvas.brush.color := clYellow;

♦ STYL WYPEŁNIENIA - STYLE OF BRUSH♦

   canvas.brush.style:=bsSolid; - wypełnione (filled)
   canvas.brush.style:=bsClear; - puste (empty)

♦ RYSOWANIE ODCINKA - DRAWING LINES♦

   canvas.MoveTo (30, 120);
   canvas.MoveTo (30, 120);

♦ RYSOWANIE PROSTOKĄTA - DRAWING RECTANGLE♦

   canvas.RectAngle (30, 120, 150, 200);

♦ RYSOWANIE ELIPSY - DRAWING ELLIPSE♦

   canvas.Ellipse (30, 120, 150, 200);

♦ RYSOWANIE WIELOKĄTA - DRAWING POLYLINES♦

   canvas.PolyLine(Point(10,10), Point(130,10), Point(200,240), Point(10,10));
   canvas.PolyGon(Point(10,10), Point(130,10), Point(200,240), Point(10,10));

PolyLine – pusty Poligon – wypełniony


♦ WYPEŁNIANIE OBSZARU - FILLING IN THE AREA♦

   canvas.FloodFill(x, y; KOLOR; BRZEG);

(x, y) - punkt wewnętrzny figury
BRZEG = fsSurface albo fsBorder


♦ PISANIE TEKSTU NA FORMULARZU - WRITING TEXT ON CANVAS♦

   canvas.Font.Color:=clGreen;
   canvas.Font.Size:=60;
   canvas.TextOut(120, 30, ‘NAPIS’);


♦ WYŚWIETLANIE PUNKTU - POINT DISPLAY♦

   canvas.Pixels [120, 50] := clRed;


♦ GRADIENT ♦
Aby uzyskać efekt gradientu, należy narysować figurę poprzez zmianę kolorów pisaka i wypełnienia, przy użyciu własnej funkcji RGB (więcej informacji na temat funkcji w odnośniku "FUNKCJE").

   function TForm1.RGB(r, g, b: byte): TColor;
   begin
    result:=(b shl 16) or (g shl 8) or r;
   end;


♦ SZACHOWNICA - CHESSBOARD ♦

 for k:=0 to 19 do
 {checkboard size = 20x20}
 for j:=0 to 19 do
 begin
  if ((k mod 2 = 0) and (j mod 2 <> 0))
  or
  ((k mod 2 <> 0) and (j mod 2 = 0 ))
  then
  canvas.brush.color:=clRed
  else
  canvas.brush.color:=clWhite;
  canvas.rectangle(30+20*k, 20+20*j, 50+20*k, 40+20*j);
 end;