Einzelnen Beitrag anzeigen

Benutzerbild von Bummi
Bummi

Registriert seit: 15. Jun 2010
Ort: Augsburg Bayern Süddeutschland
3.470 Beiträge
 
Delphi XE3 Enterprise
 
#4

AW: GDI+ RotateTransform - Problem im eigenen Objekt

  Alt 19. Jun 2012, 15: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)
  Mit Zitat antworten Zitat