unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls;
type
TFigure = class
public
d,b,c,a,p,x,y,x1,y1,r,size,maxsize: Integer; //òåêóùèå êîîðä. òî÷êè
Canvas: TCanvas;
Constructor Create(NewX, NewY,NewSize,NewMaxSize : integer;
NewCanvas : TCanvas);
Procedure Show;
Procedure Hide;
Procedure Move;
destructor destroy; override;
end;
TForm1 = class(TForm)
Image1: TImage;
Timer1: TTimer;
Label1: TLabel;
procedure Image1Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
Figure:TFigure;
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Image1Click(Sender: TObject);
begin
end;
{ TFigure }
constructor TFigure.Create(NewX, NewY, NewSize, NewMaxSize: integer;
NewCanvas: TCanvas);
begin
inherited Create;
x:=NewX;
y:=NewY;
y1:=1;
x:=250;
y:=250;
Size:=NewSize;
MaxSize:=NewMaxSize;
Canvas:=NewCanvas;
show;
end;
destructor TFigure.destroy;
begin
hide; inherited destroy;
end;
procedure TFigure.Hide;
begin
canvas.Pen.Color:=ClBlack;
Canvas.Brush.Color:=Clblue;
canvas.Rectangle(x - (a div 2), y - (a div 2),
x + (a div 2), y + (a div 2));
end;
procedure TFigure.Move;
begin
end;
procedure TFigure.Show;
var
c: array [1..4] of TPoint;
b: integer; // Äëèíà äèàãîíàëè ðîìáà
d: integer; // Äëèíà äèàãîíàëè êâàäðàòà è äèàìåòð êðóãà
const
a = 125;
begin
canvas.Pen.Color:=ClBlack;
Canvas.Brush.Color:=Clblue;
canvas.Rectangle(x - (a div 2), y - (a div 2),
x + (a div 2), y + (a div 2));
d := Round(sqrt(2)*a);
b := Round(sqrt(2)*d);
c[1].x := x;
c[1].y := y + (b div 4);
c[2].x := x - (b div 4);
c[2].y := y;
c[3].x := x;
c[3].y := y - (b div 4);
c[4].x := x + (b div 4);
c[4].y := y;
canvas.Pen.Color:=ClBlack;
Canvas.Brush.Color:=Clwhite;
Canvas.Polygon(c);
canvas.Pen.Color:=Clblack; //y,x,y+size ,x+size,//
Canvas.Brush.Color:=Clred;
//Canvas.ellipse(y,x,y+size ,x+size);
Canvas.ellipse(x-(d div 4), y - (d div 4),x + (d div 4), y+(d div 4) );
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
Figure:=TFigure.Create(Image1.ClientWidth div 8,
Image1.ClientWidth div 4,
Image1.ClientWidth div 2 ,
Image1.ClientWidth,
Image1.Canvas);
end;
end.