background image

1

Instrukcja 1a

Cel ćwiczenia: Napisanie aplikacji umożliwiającej wyświetlanie grafiki przy
użyciu klasy TCanvas.

Rys.1 Widok formularza z umieszczonymi komponentami

Część I : Przygotowanie aplikacji

1.  Uruchomić Delphi.

2.  Na formatce umieścić komponent Image z palety komponentów Additional.

Pozostawić domyślną nazwę Image1.

3.  Dla komponentu Image1 ustawić następujące własności (w Object Inspector):

•  Width : 400
•  Height : 400

4.  Umieścić na formatce komponent Button i ustawić własność Caption na Rysuj.

Własność name pozostawić domyślną – Button1.

5.  Wygenerować zdarzenie OnClick w zakładce Events – Object Inspector.

background image

2

Rys. 2 Widok inspektora obiektów z zakładką Events

6.  W zdarzeniu OnClick komponentu Button1 umieścić przykładowy kod rysujący:

   with Image1.Canvas do begin
         //kwadrat wypełniony kratą
      Brush.Color:=clRed;
      Brush.Style:=bsDiagCross;
      Rectangle(10,10,200,200);
         //elipsa
      Brush.Color:=clBlue;
      Brush.Style:=bsHorizontal;
      Ellipse(50,300,350,350);
         //przykładowy tekst
      Font.Name:='Courier';
      Font.Color:=clBlack;
      Font.Size:=14;
      Font.Style:=[fsBold,fsUnderLine];
      TextOut(200,250,'Przykładowy tekst');
   end;

7.  Umieścić na formatce komponent Button i ustawić własność Caption na Czysc.

Własność name pozostawić domyślną – Button2.

8.  Wygenerować zdarzenie OnClick dla komponentu Button2 i umieścić następujący

kod:

   with Image1.Canvas do begin
      Brush.Color:=clWhite;
      Brush.Style:=bsSolid;
      FillRect(Rect(0,0,Image1.Width,Image1.Height));
   end;

background image

3

Część II : Funkcja zoom

9.  Umieścić dodatkowy komponent Image na formatce i ustawić następujące własności:

•  Height : 200
•  Width : 200

            Własność name pozostawić domyślną – Image2.

10. Wygenerować zdarzenie OnMouseMove dla komponentu Image1 i wstawić do niego

następujący kod:

     Image2.Canvas.CopyRect(Rect(0,0,200,200),Image1.Canvas,Rect(x-20,
     y-20,x+20,y+20));

Część III : Funkcja zapisywania obrazu do pliku

11. Z palety Dialogs wybrać i umieścić na formatce komponent SavePictureDialog.

12. Umieścić na formatce kolejny przycisk Button i ustawić własność Caption na Zapisz.

13. W zdarzeniu OnClick dla przycisku Zapisz wstawić następujący kod:

   SavePictureDialog1.DefaultExt:='bmp';
   if SavePictureDialog1.Execute then begin
      Image1.Picture.SaveToFile(SavePictureDialog1.FileName);
   end;

14. Skompilować i uruchomić program.

background image

4

Rys.3 Uruchomiony program