Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 12-12-2012
Avatar de radenf
radenf radenf is offline
Miembro
 
Registrado: oct 2007
Ubicación: Viña del Mar,Chile
Posts: 608
Poder: 17
radenf Va por buen camino
Asignar valor double a movimiento del mouse

Hola amigos:

De nuevo con mis dudas complicadas.
Tengo un componente que me permite girar una imagen mediante la propiedad angle que posee un valor double.
Estas imagenes tienen formato .dcm y no pueden ser vistas en un TImage.
Quisiera poder rotar dicha imagen con el movimiento del mouse y pensé que podría hacerlo si logro asignar dicho valor double al desplazamiento del mouse sobre la imagen.
¿Es posible?

Agradezco de antemano cualquier ayuda
Salu2
Responder Con Cita
  #2  
Antiguo 12-12-2012
Avatar de nlsgarcia
[nlsgarcia] nlsgarcia is offline
Miembro Premium
 
Registrado: feb 2007
Ubicación: Caracas, Venezuela
Posts: 2.206
Poder: 21
nlsgarcia Tiene un aura espectacularnlsgarcia Tiene un aura espectacular
radenf,

Revisa estos links:
Cita:
How to convert mouse movements to rotation of an element:
http://stackoverflow.com/questions/4...-of-an-element

What are atan and atan2 used for in games?:
http://gamedev.stackexchange.com/que...d-for-in-games

ArcTan:
http://www.delphibasics.co.uk/RTL.asp?Name=ArcTan

Angle and Coordinates:
http://www.zahniser.net/~russell/com...%20Coordinates
Espero sea útil

Nelson.
Responder Con Cita
  #3  
Antiguo 12-12-2012
Avatar de radenf
radenf radenf is offline
Miembro
 
Registrado: oct 2007
Ubicación: Viña del Mar,Chile
Posts: 608
Poder: 17
radenf Va por buen camino
Muchas gracias nlsgarcia

Demasiado elevado para mi escaso nivel de conocimientos, ya que además no poseo ninguna noción de Java.
Gracias de todas maneras

Salu2
Responder Con Cita
  #4  
Antiguo 14-12-2012
Avatar de nlsgarcia
[nlsgarcia] nlsgarcia is offline
Miembro Premium
 
Registrado: feb 2007
Ubicación: Caracas, Venezuela
Posts: 2.206
Poder: 21
nlsgarcia Tiene un aura espectacularnlsgarcia Tiene un aura espectacular
radenf,

Revisa este link:
Revisa este código:
Código Delphi [-]
procedure TForm1.Timer1Timer(Sender: TObject);
begin
  RotateImage1.Angle := Frac((RotateImage1.Angle + 1.0) / 360.0) * 360.0;
end;

procedure TForm1.RotateImage1MouseDown(Sender: TObject;
  Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
  DraggingControl := nil;
  if (Button = mbLeft) and not (ssDouble in Shift) then
    DraggingControl := TRotateImage(Sender);
  if Sender = DraggingControl then
  begin
    StartAngle := RotateImage1.Angle;
    if X = DraggingControl.Width / 2 then
      if Y < DraggingControl.Height / 2 then
        StartTheta := Pi / 2
      else
        StartTheta := -Pi / 2
    else
      StartTheta := ArcTan2(Y - DraggingControl.Height / 2, X - DraggingControl.Width / 2);
  end;
end;

procedure TForm1.RotateImage1MouseMove(Sender: TObject; Shift: TShiftState;
  X, Y: Integer);
var
  Theta: Extended;
begin
  if Sender = DraggingControl then
  begin
    if X = DraggingControl.Width / 2 then
      if Y < DraggingControl.Height / 2 then
        Theta := Pi / 2
      else
        Theta := -Pi / 2
    else
      Theta := ArcTan2(Y - DraggingControl.Height / 2, X - DraggingControl.Width / 2);
    RotateImage1.Angle := StartAngle + 180 * (StartTheta - Theta) / Pi;
  end;
end;

procedure TForm1.RotateImage1MouseUp(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  DraggingControl := nil;
end;
El código anterior fue tomado del ejemplo que viene con el Componente TRotateImage mencionado en el link y muestra como calcular el angulo de rotación de una imagen, quizás puedas adaptar el ejemplo a tu aplicación de imágenes en formato .dcm

Espero sea útil

Nelson.

Última edición por nlsgarcia fecha: 14-12-2012 a las 07:32:28.
Responder Con Cita
  #5  
Antiguo 14-12-2012
Avatar de radenf
radenf radenf is offline
Miembro
 
Registrado: oct 2007
Ubicación: Viña del Mar,Chile
Posts: 608
Poder: 17
radenf Va por buen camino
Muchas gracias.
Lo pruebo y te cuento.
Saludos
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Capturar el movimiento del mouse radenf Varios 6 14-01-2011 00:17:28
Movimiento del mouse Chris API de Windows 8 27-07-2007 22:00:12
Valor de un LineSeries en la posicion del mouse andiget Gráficos 1 26-07-2007 17:49:28
Problema al Actualizar Valor Double caramelillo MySQL 4 18-10-2006 23:36:38
Valor double de una fecha cone220 Varios 2 26-04-2004 22:38:38


La franja horaria es GMT +2. Ahora son las 06:53:09.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi