Einzelnen Beitrag anzeigen

supermuckl

Registriert seit: 1. Feb 2003
1.340 Beiträge
 
FreePascal / Lazarus
 
#10

Re: Bild rotieren / bewegen (DelphiX)

  Alt 3. Jan 2005, 20:47
falls du das bild nicht mit directx drehen möchtest, gehts z.b. so:

Delphi-Quellcode:
// dreht ein koordinatensystem ( pixel -> pixel nach angle gedreht )
procedure TransformVirtToReal(virt:Trealpoint; angle:single; var real:Trealpoint);
var
VirLen,VirAngle:single;
RealLen,RealAngle:single;
null:Trealpoint;
begin
//sooo
null.X := 0;
null.Y := 0;

VirLen := abstand(null,virt); // abstand in pixeln von virtueller nullpunkt(virtuell) -> koordinate(virtuell)
VirAngle := cortowink(null,virt); // winkel von nullpunkt(virtuell) zu koordinate(virtuell)
RealAngle := winkelcalc(VirAngle,angle); // Winkel drehen, das es dem neuen Koordinatensystem entspricht
RealLen := VirLen*1; // evtl zoom
real.X := cos(cycletorad(RealAngle/360))*RealLen;
real.Y := sin(cycletorad(RealAngle/360))*RealLen;
end;
für eine pixelgenaue collisonserkennung auf image art, die auch mit gedrehten bitmaps auskommt, hätte ich auch was funktionierendes falls gewünscht.
Das echte Leben ist was für Leute...
... die im Internet keine Freunde finden!
  Mit Zitat antworten Zitat