Масштабирование. Геометрическое моделирование
unit Unit1; interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, ComCtrls, Menus, ExtCtrls, StdCtrls, Spin; type TForm1 = class(TForm) StatusBar1: TStatusBar; SpinEdit1: TSpinEdit; Image1: TImage; RadioButton1: TRadioButton; RadioButton2: TRadioButton; procedure FormMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); procedure SpinEdit1Change(Sender: TObject); procedure FormMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer); procedure RadioButton1Click(Sender: TObject); procedure RadioButton2Click(Sender: TObject); procedure FormCreate(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; xi,yi: integer; h,i:integer; implementation {$R *.DFM} procedure p1; begin form1.refresh; form1.canvas.pixels[xi,yi]:=clred; for i:=0 to 628 do form1.canvas.pixels[trunc(xi+H*cos(i/100)),trunc(yi+H*sin(i/100))]:=clblue; end; procedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); begin xi:=x; yi:=y; p1; end; procedure TForm1.SpinEdit1Change(Sender: TObject); begin h:=SpinEdit1.value; if RadioButton1.checked=true then p1 else begin image1.width:=SpinEdit1.value; image1.height:=SpinEdit1.value; end; end; procedure TForm1.FormMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer); begin statusbar1.simpletext:=' X : '+inttostr(x)+' Y : '+inttostr(y); end; procedure TForm1.RadioButton1Click(Sender: TObject); begin Image1.visible:=false; p1; end; procedure TForm1.RadioButton2Click(Sender: TObject); begin refresh; Image1.visible:=true; end; procedure TForm1.FormCreate(Sender: TObject); begin h:=30; end; end.
Похожие работы
- Рефераты