чуть подправил код который мне дали
Код:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ComCtrls, StdCtrls, ExtCtrls;
type
TForm1 = class(TForm)
Image1: TImage;
ScrollBar1: TScrollBar;
procedure Scrollbar1Change(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
procedure DrawRect;
public
{ Public declarations }
end;
var
Form1: TForm1;
x0, y0,z0 : Integer;
cosa, sina : Double;
RectCooOrg,
RectCooLast : array[0..2] of TPoint;
const
pi2 = 2 * pi;
implementation
{$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject);
begin
x0 := Image1.Width div 2;
y0 := Image1.Height div 2;
z0 := Image1.Height div 2;
RectCooOrg[0].X := -150;
RectCooOrg[0].Y := - 75;
RectCooOrg[1].X := -150;
RectCooOrg[1].Y := 75;
RectCooOrg[2].X := 150;
RectCooOrg[2].Y := -75;
RectCooOrg[2].Z := 150;
RectCooOrg[2].z := -75;
RectCooLast := RectCooOrg;
cosa := cos(pi2 * Scrollbar1.Position / 360);
sina := sin(pi2 * scrollbar1.Position / 360);
DrawRect;
end;
procedure TForm1.Scrollbar1Change(Sender: TObject);
begin
cosa := cos(pi2 * Scrollbar1.Position / 360);
sina := sin(pi2 * Scrollbar1.Position / 360);
DrawRect;
end;
procedure TForm1.DrawRect;
var
I : Integer;
begin
Image1.Canvas.Pen.Color := clLime;
for I := 0 to 4 do
begin
RectCooLast[i].X := Round(RectCooOrg[i].X * cosa - RectCooOrg[i].Y * sina + x0);
RectCooLast[i].Y := Round(RectCooOrg[i].Y * cosa + RectCooOrg[i].X * sina + y0);
end;
Image1.Canvas.Polyline(RectCooLast);
end;
end.
Админ: учимся корректно пользоваться тегами!
я хоть в правильно направление иду?