Показать сообщение отдельно
  #10  
Старый 03.04.2012, 15:00
Аватар для Mp3
Mp3 Mp3 вне форума
Новичок
 
Регистрация: 05.03.2012
Сообщения: 82
Репутация: 10
Радость

чуть подправил код который мне дали
Код:
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.
Админ: учимся корректно пользоваться тегами!

я хоть в правильно направление иду?
Ответить с цитированием