Цель лабораторной работы: Изучить основные графические компоненты, их свойства и методы.
Задание: Разработать программу, содержащую три формы – три способа представления графической информации.
На 1-й форме продемонстрировать отображение графических картинок, созданных в других графических редакторах.
На 2-й форме с помощью кнопочного меню рисовать различные графические фигуры посредством компоненты класса TShape.
На 3-й форме реализовать рисование простейшими примитивами, типа линия, прямоугольник, эллипс и т.д.
Листинг программы:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs,JPEG, ExtDlgs, StdCtrls, ExtCtrls;
type
TForm1 = class(TForm)
Panel1: TPanel;
Image1: TImage;
OpenPictureDialog1: TOpenPictureDialog;
Button1: TButton;
Button2: TButton;
Button3: TButton;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
uses Unit2;
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
begin
OpenPictureDialog1.Filter := GraphicFilter(TGraphic);
if OpenPictureDialog1.Execute
then Image1.Picture.LoadFromFile
(OpenPictureDialog1.FileName);
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
Form2.Visible:=True;
Form1.Visible:=False;
end;
procedure TForm1.Button3Click(Sender: TObject);
begin
Form1.Close();
end;
end.
unit Unit2;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, StdCtrls;
type
TForm2 = class(TForm)
Button1: TButton;
Shape1: TShape;
Button2: TButton;
Button3: TButton;
Button4: TButton;
Button5: TButton;
Button6: TButton;
Button7: TButton;
Button8: TButton;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
procedure Button5Click(Sender: TObject);
procedure Button6Click(Sender: TObject);
procedure Button7Click(Sender: TObject);
procedure Button8Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form2: TForm2;
implementation
uses Unit1, Unit3;
{$R *.dfm}
procedure TForm2.Button1Click(Sender: TObject);
begin
Shape1.Shape:=stRectangle; //прямоугольник
end;
procedure TForm2.Button2Click(Sender: TObject);
begin
Shape1.Shape:=stSquare;
end;
procedure TForm2.Button3Click(Sender: TObject);
begin
Shape1.Shape:=stCircle;
end;
procedure TForm2.Button4Click(Sender: TObject);
begin
Shape1.Shape:=stEllipse;
end;
procedure TForm2.Button5Click(Sender: TObject);
begin
Shape1.Shape:=stRoundRect;
end;
procedure TForm2.Button6Click(Sender: TObject);
begin
Shape1.Shape:=stRoundSquare;
end;
procedure TForm2.Button7Click(Sender: TObject); //назад
begin
Form2.Visible:=false;
Form1.Visible:=true;
end;
procedure TForm2.Button8Click(Sender: TObject); //вперёд
begin
Form2.Visible:=false;
Form3.Visible:=true;
end;
end.
unit Unit3;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, StdCtrls;
type
TForm3 = class(TForm)
Image1: TImage;
Button1: TButton;
Button2: TButton;
procedure FormCreate(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form3: TForm3;
implementation
uses Unit1, Unit2;
{$R *.dfm}
procedure TForm3.FormCreate(Sender: TObject);
begin
Form3.Image1.Canvas.Brush.Color := clCream;
Form3.Image1.Canvas.Ellipse(0,0, 400,400);
Form3.Image1.Canvas.Rectangle(170,180,220,230);
Form3.Image1.Canvas.Brush.Color := clHighlight;
Form3.Image1.Canvas.Ellipse(100,100, 150,150);
Form3.Image1.Canvas.Brush.Color := clHighlight;
Form3.Image1.Canvas.Ellipse(240,100, 290,150);
Form3.Image1.Canvas.Arc(105,140,295,350,70,260,340,260);
end;
procedure TForm3.Button1Click(Sender: TObject);
begin
Form1.close();
end;
procedure TForm3.Button2Click(Sender: TObject); //назад
begin
Form3.Visible:=false;
Form2.Visible:=True;
end;
end.
Результат выполнения программы:



Выводы: изучили основные графические компоненты, их свойства и методы.