Registriert seit: 16. Dez 2005
Ort: Odenthal
134 Beiträge
Delphi 6 Personal
|
Re: Zeichnen einer Linie im 45° Winkel
21. Dez 2005, 18:59
so habs endlich geschafft:
Delphi-Quellcode:
if ssShift in Shift
then begin
H.X:=X-SP.X;
H.Y:=Y-SP.Y;
if ((H.X<0) and (H.Y<0)) or ((H.X>0) and (H.Y>0))
then begin
if (abs(H.X)<=abs(H.Y))
then begin
if (SP.X=X) or (radtodeg(ArcSin(H.X/H.Y))<=22.5)
then EP:=Point(SP.X,Y)
else EP:=Point((SP.X+H.X),(SP.Y+H.X));
end
else begin
if (SP.Y=Y) or (radtodeg(ArcSin(H.Y/H.X))<=22.5)
then EP:=Point(X,SP.Y)
else EP:=Point((SP.X+H.X),(SP.Y+H.X));
end;
end
else begin
H.Y:=(SP.Y-Y);
if (abs(H.X)<=abs(H.Y))
then begin
if (SP.X=X) or (radtodeg(ArcSin(H.X/H.Y))<=22.5)
then EP:=Point(SP.X,Y)
else EP:=Point((SP.X+H.X),(SP.Y-H.X));
end
else begin
if (SP.Y=Y) or (radtodeg(ArcSin(H.Y/H.X))<=22.5)
then EP:=Point(X,SP.Y)
else EP:=Point((SP.X+H.X),(SP.Y-H.X));
end;
end;
end
else EP:=Point(X,Y);
Roman
|
|
Zitat
|