Registriert seit: 15. Jun 2010
Ort: Augsburg Bayern Süddeutschland
3.470 Beiträge
Delphi XE3 Enterprise
|
AW: GDI+ RotateTransform - Problem im eigenen Objekt
19. Jun 2012, 16:04
von 0 - 90° kannst Du hiermit arbeiten
Delphi-Quellcode:
implementation
uses math;
{$R *.dfm}
Function GetNewH(w,h,angle:Integer):Integer;
begin
Result := Round(Sin(DegToRad(angle))*w) + Round(Cos(DegToRad(angle))*h);
end;
Function GetNewW(w,h,angle:Integer):Integer;
begin
Result := Round(Cos(DegToRad(angle))*w) + Round(Sin(DegToRad(angle))*h);
end;
Function GetRoffs(w,h,angle:Integer):Integer;
begin
Result := Round(sin(DegToRad(angle))*h);
end;
procedure TForm5.Button1Click(Sender: TObject);
var
wkl,h,w,newh,neww,roffs:Integer;
begin
h := 20;
w := 200;
wkl := 45;
neww := GetNewW(w,h,wkl); // neue benötigte Breite
newh := GetNewH(w,h,wkl); // neue benötigte Höhe
roffs := GetRoffs(w,h,wkl); // nötiger Offset von rechts
end;
Thomas Wassermann H₂♂ Das Problem steckt meistens zwischen den Ohren
DRY DRY KISS
H₂♂ (wenn bei meinen Snipplets nichts anderes angegeben ist Lizenz: WTFPL)
|
|
Zitat
|