merhaba arakadaşlar. delphide yay çizmeyi bilen varsa bana örnek gönderibilirmi
yusufozakar@gmail.com
Delphide Yay Çizme
Bu kodlarla parametre girerek istediğin yayı çizdirebilirsin...
Ben grafik programlarımda bunu kullanıyorum...
Oluşturana kadar canım çıkmıştı ama iyi de oldu,şimdi yay çizdirme,daire,elips gibi grafikler vız geliyor...
var
Form1: TForm1;
YayAci,X1,X2,Y1,Y2:Real;
Cozun:Integer;
implementation
{$R *.dfm}
procedure YayCiz(X11,Y11,X22,Y22,Coz:Real);
var Alfa:Real;A,jDeger:Real; R1,R2,x,y:Real;
begin
Alfa:=0;
if Coz<3 then
begin ShowMessage('Cözunurluk cok Kucuk Olamaz...');Exit;end;
R1:=(X22-X11)/2;R2:=(Y22-Y11)/2;
jDeger:=360/Coz;
A:=Pi/180;
repeat
x:=(R1*cos(alfa*A));
y:=(R2*sin(alfa*A));
if Alfa=0 then
begin
Form1.Image1.Canvas.MoveTo(Round(x+X11+R1),Round(y+Y11+R2));
end;
Form1.Image1.Canvas.LineTo(Round(x+X11+R1),Round(y+Y11+R2));
Alfa:=Alfa+jDeger;
until Alfa>YayAci;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
YayAci:=StrToFloat(Edit1.Text);
Cozun:=StrToInt(Edit2.Text);
X1:=StrToFloat(Edit3.Text);
Y1:=StrToFloat(Edit4.Text);
X2:=StrToFloat(Edit5.Text);
Y2:=StrToFloat(Edit6.Text);
YayCiz(0,0,100,100,Cozun);
end;
end.
var
Form1: TForm1;
YayAci,X1,X2,Y1,Y2:Real;
Cozun:Integer;
implementation
{$R *.dfm}
procedure YayCiz(X11,Y11,X22,Y22,Coz:Real);
var Alfa:Real;A,jDeger:Real; R1,R2,x,y:Real;
begin
Alfa:=0;
if Coz<3 then
begin ShowMessage('Cözunurluk cok Kucuk Olamaz...');Exit;end;
R1:=(X22-X11)/2;R2:=(Y22-Y11)/2;
jDeger:=360/Coz;
A:=Pi/180;
repeat
x:=(R1*cos(alfa*A));
y:=(R2*sin(alfa*A));
if Alfa=0 then
begin
Form1.Image1.Canvas.MoveTo(Round(x+X11+R1),Round(y+Y11+R2));
end;
Form1.Image1.Canvas.LineTo(Round(x+X11+R1),Round(y+Y11+R2));
Alfa:=Alfa+jDeger;
until Alfa>YayAci;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
YayAci:=StrToFloat(Edit1.Text);
Cozun:=StrToInt(Edit2.Text);
X1:=StrToFloat(Edit3.Text);
Y1:=StrToFloat(Edit4.Text);
X2:=StrToFloat(Edit5.Text);
Y2:=StrToFloat(Edit6.Text);
YayCiz(X1,Y1,X2,Y2,Cozun);
end;
end.