Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi DrawRotate falsce winkelangabe!!! (https://www.delphipraxis.net/63684-drawrotate-falsce-winkelangabe.html)

wursthunter 21. Feb 2006 16:16


DrawRotate falsce winkelangabe!!!
 
Wenn ich etwas rotiert wiedergeben möchte, nutze ich ja diesen Befehl. Bei 64° sind bereits 90° erreicht. Wie das??? Wie kann man abhilfe schaffen???
Das gleiche bei TImageSpriteEx! sehr nervig!

Klaus01 21. Feb 2006 16:22

Re: DrawRotate falsce winkelangabe!!!
 
vielleicht rad in grad umwandeln

Grüße
Klaus

[edit] das war wohl mumpitz [/edit]

Frank Borland 21. Feb 2006 17:05

Re: DrawRotate falsce winkelangabe!!!
 
255 ist eine komplette Drehung, wem auch immer das eingefallen ist :-)

Gruß


Malte

wursthunter 21. Feb 2006 17:34

Re: DrawRotate falsce winkelangabe!!!
 
ok, soweit bin auch schon, dass 255 grad eine drehung ist, wie kann man abhilfe schaffen???

Frank Borland 21. Feb 2006 17:37

Re: DrawRotate falsce winkelangabe!!!
 
eine eigene Funktion schreiben, die Grad annimmt, umrechnet und das Original aufruft

Gruß

Malte

wursthunter 21. Feb 2006 18:24

Re: DrawRotate falsce winkelangabe!!!
 
manche leute sind extrem lustig...

Daniel Schuhmann 21. Feb 2006 18:34

Re: DrawRotate falsce winkelangabe!!!
 
Wieso lustig? Die Funktion muss doch blos die Winkelangabe mit 359 / 255 multiplizieren, dann stimmts wieder.

Frank Borland 21. Feb 2006 18:35

Re: DrawRotate falsce winkelangabe!!!
 
extrem einfach wäre dies:


Delphi-Quellcode:
function MeinUmrechnungFunktionInAngle(MeineGrad: double): integer;
begin
 result:= round(MeineGrad/360*255);
end;
...CenterX,CenterY,MeinUmrechnungFunktionInAngle(M eineGrad));

und gut zu lesen

einen lustigen Gruß


Malte

[edit=alcaeus]Delphi-Tags eingefuegt. In Zukunft bitte selbst machen. ;) Mfg, alcaeus[/edit]

Ultimator 21. Feb 2006 18:38

Re: DrawRotate falsce winkelangabe!!!
 
Wo ist denn das Problem?
359° entsprechen 255. 1° entspricht dann also 255/359. Du musst also nur die Grad, die du in "255stel" umrechnen willst, mit 255/359 malnehmen und halt anschließend runden.
Delphi-Quellcode:
function 360to255(Deg: integer): byte;
begin
result := abs(round(Deg * (255 / 359)));
end;
Was die Funktion abs tut steht in der Hilfe. ;)

//edit: OK, dann is halt der Bruch nimmer so schön^^

Daniel Schuhmann 21. Feb 2006 20:09

Re: DrawRotate falsce winkelangabe!!!
 
359° (und nicht 360°) entsprechen 255, die Zählung beginnt bei beiden Werten bei 0 (0° ist ja dasselbe wie 360°)


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:07 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz