Ver Mensaje Individual
  #1  
Antiguo 05-11-2016
Tuvan Tuvan is offline
Registrado
NULL
 
Registrado: nov 2016
Posts: 3
Reputación: 0
Tuvan Va por buen camino
Smile Girar un Timage con respecto a otro Timage

Buenas gente.
Supongo que debe ser algo sencillo pero me ha llevado tiempo poder hacerlo.
He logrado hacer un giro en 360 grados pero no con un punto de referencia, les explico lo que quiero hacer con un grafico que anexo y se pueda entender mejor.

Quiero lograr el giro de 360° respecto a un punto en especifico, en mi caso a un Timage, he usado este algoritmo publicado por Seoane en otro post, gracias de antemano.

Código Delphi [-]

function elipse (x1,y1,x2,y2: Integer; angulo : Double): Tpoint;
var
Cx,Cy,a,b : Double;
x,y : Integer;
begin
  a:= abs(x2+x)/2;
  b:= abs(y2+y1)/2;
  Cx:= (x1+x2)/2;
  Cy:= (y1+y2)/2;
  Result.x:= Trunc(Cx - A * cos(angulo));
  Result.y:= Trunc(Cy + b * sin(angulo));
end;

Y lo he implementado a un botón para iniciar la trayectoria dados de alta los parámetros:

Código Delphi [-]

var
i: integer;
p: Tpoint;


begin
    for i := 0 to 360 do
    begin
    //x1,y1,x2,y2: Integer; angulo : Double): Tpoint
      p:= elipse(150,100,300,200,(pi*i)/180);
      image1.Left:= p.X;
      image1.Top:= p.Y+50;
      Application.ProcessMessages;
      Sleep(10);
      end;
      

end;

Estaré muy pendiente de sus respuestas
Imágenes Adjuntas
Tipo de Archivo: png foro.png (15,8 KB, 10 visitas)
Responder Con Cita