Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 14-10-2004
Luli Luli is offline
Miembro
 
Registrado: oct 2004
Posts: 76
Poder: 20
Luli Va por buen camino
Lightbulb Graficos

Hola, me gustaria mucho que me ayudaran, tengo varias dudas acerca de manejar graficos en delphi. Tengo un area de dibujo en mi formulario, ademas tengo una barra de herramientas y al pulsar un boton, si éste tiene asignado que dibuje un circulo por ejemplo, al pulsarlo se dibuja esa imagen en el area de dibujo, pero necesito controlar la figura, es decir, poder moverla por el area de dibujo con el ratón, hasta dejarla donde yo quiera. Además necesito poder modificar el tamaño de la figura, algo asi como si estuviera en paint.

Otra cosa, ¿como puedo hacer que se borre la figura que dibujé? Estoy usando un Timage como area de dibujo dentro de mi formulario.

Muchas gracias
Responder Con Cita
  #2  
Antiguo 15-10-2004
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.282
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Así a primeras y viendo que ésto lo vas a tener que hacer con diferentes figuras supongo yo pensaría en crear un componente (no dibujar directamente sobre el área de dibujo) que te soporte todos éstos métodos (selección visual, borrado, arrastrar,...), ya que sino tendrías que programar cada objeto o "linkar" los eventos necesarios de todos ellos a medida que los vayas creando en ejecución.
Yo te conteste como si fuera sobre un control individual, pero te vuelvo a decir que creo que deberías abstraerlo y pasarlo a un nuevo componente.

Cita:
Empezado por Luli
...pero necesito controlar la figura, es decir, poder moverla por el area de dibujo con el ratón, hasta dejarla donde yo quiera.
Eso puedes hacerlo programando los eventos del ratón; MouseDown, MouseMove y MouseUp; Prueba algo como ésto en un componente TImage, te puede servir para sacar la idea.

Código Delphi [-]
...
    Capturing:Boolean;
    MouseDownSpot:TPoint;
...
 
procedure TForm1.Image1MouseMove(Sender: TObject; Shift: TShiftState; X,
  Y: Integer);
begin
  if Capturing then begin
    TImage(Sender).Left := TImage(Sender).Left - (MouseDownSpot.x - x);
    TImage(Sender).Top := TImage(Sender).Top - (MouseDownSpot.y - y);
  end;
end;
 
procedure TForm1.Image1MouseUp(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  if Capturing then begin
    ReleaseCapture;
    Capturing := false;
    TImage(Sender).Left := TImage(Sender).Left - (MouseDownSpot.x - x);
    TImage(Sender).Top := TImage(Sender).Top - (MouseDownSpot.y - y);
  end;
end;
 
procedure TForm1.Image1MouseDown(Sender: TObject; Button:MouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  Capturing := true;
  MouseDownSpot.X := x;
  MouseDownSpot.Y := Y;
end;

Cita:
Empezado por Luli
Además necesito poder modificar el tamaño de la figura, algo asi como si estuviera en paint.
Para eso entiendo que vas a tener que conseguir hacer algo como lo que hace el Paint de dibujar un marco con 8 puntos para poder seleccionar el componente; La idea de funcionamiento es similar a la explicada antes (utilizando los mismos eventos), solo que si marcas la imagen se mueve y si marcas en el borde se cambia el tamaño.

Cita:
Empezado por Luli
Otra cosa, ¿como puedo hacer que se borre la figura que dibujé? Estoy usando un Timage como area de dibujo dentro de mi formulario.
Bueno, si trabajas con objetos (no dibujando sobre el área de dibujo, eliminando el componente tendrás esa parte echa).

Existe un componente que sirve para lo que estás programando, no se si puedes utilizarlo, o necesitas fabricarlo tú; En cualquier caso te puede servir de guía.

http://www.delphiarea.com/products/simplegraph/
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #3  
Antiguo 02-11-2004
Luli Luli is offline
Miembro
 
Registrado: oct 2004
Posts: 76
Poder: 20
Luli Va por buen camino
Lightbulb uso de TString List

hola, mi pregunta es, ¿como usar un TString List? he leido algo pero no me quedó muy claro como usarlo para guardar imagenes, si tuvieran algun ejemplo me sería de mucha utilidad.

Muchas gracias...
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


La franja horaria es GMT +2. Ahora son las 20:43:08.


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