Rotate edilmiş dikdörtgeni mouse ile tekrar boyurlandırmak

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
ibrahimcoban
Üye
Mesajlar: 163
Kayıt: 11 Eki 2005 10:44
İletişim:

Rotate edilmiş dikdörtgeni mouse ile tekrar boyurlandırmak

Mesaj gönderen ibrahimcoban »

Merhaba Arkadaşlar !

Ben grafik editörü ile uğraşıyorum.

function RotatePoint(RotPoint,CenterPoint:TPoint; Angle:Integer):TPoint;
var sin_angle, cos_angle : Extended;
begin
sin_angle := Sin(2*PI*Angle/360);
cos_angle := Cos(2*PI*Angle/360);
Result.X := CenterPoint.X + Round( (RotPoint.X-CenterPoint.X)*cos_angle
+(RotPoint.Y-CenterPoint.Y)*sin_angle);
Result.Y := CenterPoint.Y + Round(-(RotPoint.X-CenterPoint.X)*sin_angle
+(RotPoint.Y-CenterPoint.Y)*cos_angle);
end;

4 adet Tpoint 'i belli açıda ratate ediyorum ve

A1:=RotatePoint(a1,orta,45);
A2:=RotatePoint(a2,orta,45);
A3:=RotatePoint(a3,orta,45);
A4:=RotatePoint(a4,orta,45);
Canvas.Polygon([a1,a2,a3,a4]);

şeklinde çizdiriyorum.

Bundan sonra mouse ile tekrar boyutlandırmada sorun çıkıyor yani istediğim gibi boyutlandıramıyorum.
Benim istediğim boyurlandırma Ms Office 'deki grafik editörü gibi bunun için mantık yürütebilecek veya kod üretebilecek arakadaşlardan yardım bekliyorum.
Cevapla