Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Desarrollo en Delphi para Android
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos


 
 
Herramientas Buscar en Tema Desplegado
  #2  
Antiguo 17-10-2024
navbuoy navbuoy is offline
Miembro
 
Registrado: mar 2024
Posts: 360
Poder: 3
navbuoy Va por buen camino
El error con sgiZoom que mencionas puede deberse a que estás utilizando un valor incorrecto o no definido en la versión de Delphi que estás usando. sgiZoom no es un identificador estándar en todas las versiones de Delphi.

Para resolver este problema, en lugar de utilizar sgiZoom, deberías usar el valor correcto que está predefinido en Delphi para identificar gestos de zoom. Los identificadores de gestos en Delphi suelen estar definidos en la unidad FMX.Types, y el gesto de zoom puede ser identificado mediante la constante igiZoom (Interactive Gesture ID Zoom).

Aquí te doy una versión modificada de tu código que debería funcionar:

Código Delphi [-]
uses
  FMX.Types, FMX.Gestures;

procedure TF_Foto.Image1Gesture(Sender: TObject;
  const EventInfo: TGestureEventInfo; var Handled: Boolean);
var
  ZoomFactor: Single;
begin
  if EventInfo.GestureID = igiZoom then
  begin
    // Calcula el factor de zoom basado en la distancia de los dedos
    ZoomFactor := EventInfo.Distance / 100;

    // Aplica el factor de zoom a la imagen
    Image1.Width := Round(Image1.Width * ZoomFactor);
    Image1.Height := Round(Image1.Height * ZoomFactor);

    // Ajusta la posición para mantener la imagen centrada (opcional)
    Image1.Position.X := Image1.Position.X - (Image1.Width * (ZoomFactor - 1)) / 2;
    Image1.Position.Y := Image1.Position.Y - (Image1.Height * (ZoomFactor - 1)) / 2;

    Handled := True; // Marca que el gesto ha sido manejado
  end;
end;


Pasos a seguir:
Importar las unidades correctas: Asegúrate de que tienes las unidades FMX.Types y FMX.Gestures en la cláusula uses.
Reemplazar sgiZoom: Cambia sgiZoom por igiZoom, que es el identificador correcto para el gesto de zoom multitáctil.
Verifica que el componente TGestureManager esté configurado: Asegúrate de que tu componente TGestureManager esté correctamente vinculado al control y que el gesto de zoom esté habilitado.
Este enfoque debería solucionar el problema y permitir que tu código detecte el gesto de zoom correctamente.

Última edición por navbuoy fecha: 17-10-2024 a las 14:22:48.
Responder Con Cita
 


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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
Zoom de una imagen en otra imagen Juliajuli Gráficos 1 02-09-2013 18:17:35
Zoom imagen por mouse RebeccaGL Varios 0 02-05-2013 16:20:46
Imagen con efecto zoom lisette C++ Builder 2 28-08-2012 23:52:08
Zoom en la imagen fasthorse Gráficos 6 07-08-2008 14:32:18
zoom a imagen kapullok_2006 Gráficos 4 04-04-2007 06:17:31


La franja horaria es GMT +2. Ahora son las 11:04:35.


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