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 22-10-2005
erasmorc erasmorc is offline
Miembro
 
Registrado: ago 2004
Posts: 66
Poder: 20
erasmorc Va por buen camino
Como editar imagen

Buenos dias,

Tengo el siguiente problema, necesito a una imagen cualquiera que este hecha en un formato cualquiera poder cargala y poder visualizarla en un formulario de delphi y ahi poder hacerle una modificacion que podria ser ponerle una raya, un punto, lo que sea y poder guardar esta imagen. Agradeceria mucho cualquier ayuda.

Slds.
Neo
Responder Con Cita
  #2  
Antiguo 22-10-2005
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

Pienso que deberías pelearte con el "TCanvas" del "TImage" en que quieras dibujar. En este Foro encontrarás no poca información: aquí puedes ver los resultados de una única búsqueda en los mismos, habrá más, seguramente. Sin embargo, tu mensaje deja algunas cosas no demasiado claras, y, que me hacen dudar para seguir adelante planteándote alguna que otra solución por mi parte. Verás.


Cita:
Empezado por erasmorc
(...) necesito a una imagen cualquiera que este hecha en un formato cualquiera poder cargala y poder visualizarla en un formulario de delphi (...)
Para mí tengo que existen no pocos formatos de archivos de imagen. Delphi soporta unos cuantos (bastantes) "de serie" y pueden añadirse otros a la lista mediante componentes de terceros, pero, dicho así "cualquiera que sea su formato", suena demasiado general, en mi opinión: probablemente no pueda darse una regla general en este, como en otros casos ocurre.


Cita:
Empezado por erasmorc
(...) poder hacerle una modificacion que podria ser ponerle una raya, un punto, lo que sea (...)
Con ese "lo que sea" me quedo igual que antes: una cosa es dibujar una línea/raya, un punto, un círculo, un polígono, y otra muy distinta ha de ser dibujar "lo que sea". En fin. Espero que en los Foros encuentres información, que puedas concretar un poco más, si te parece oportuno, o que alguien pueda, en todo caso, ofrecerte alguna que otra idea.
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #3  
Antiguo 24-10-2005
erasmorc erasmorc is offline
Miembro
 
Registrado: ago 2004
Posts: 66
Poder: 20
erasmorc Va por buen camino
Buenos dias,


Al parecer no me explique bien, tratare de hacerlo mejor, lo que necesito es poder editar una imagen imaginate que tengo una imagen que siempre sera la misma osea como una plantilla y dicha imagen puede estar en el formato jpg entonces yo quisiera con la imagen ya cargada en un timage poder editarla y hacerle cambios pero los cambios que necesito hacerle son simplemente rayas o puntos cualquiera de los dos si solo se puede hacer uno de ellos pues perfecto con un solo tipo de marcas seria suficiente, imaginate cuando rentas un vehiculos en un rent car, quieres llenar el formulario de salida del vehiculo en el programa y entonces cargas una imagen lateral del vehiculo si el dano es en esa area que esta y quieres marcar todos los puntos en los cuales el vehiculo tiene marcas de abolladuras o rayones en la pintura, entonces poder guardar esa imagen con las modificaciones osea los puntos o rayones que le agregaste. Esa es la idea de lo que quiero hacer.

Slds,
Neo
Responder Con Cita
  #4  
Antiguo 24-10-2005
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 28
Lepe Va por buen camino
Usa LoadFromFile del Timage para cargar la imagen desde disco.

Usa los métodos apropiados del Timage.Canvas para dibujar lineas, recuadros, elipses, etc. Despues usa el método SaveToFile para guardarlo.

En tu disco duro, en la carpeta delphi\demos\ debes tener un explorador de Jpegs con código fuente, desde ahí puedes ver como trabajar con ellos.

saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita
  #5  
Antiguo 24-10-2005
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

Se trata, diría, de lo que dice Lepe y yo apunté más arriba:


Cita:
Empezado por yo mismo
Pienso que deberías pelearte con el "TCanvas" del "TImage" en que quieras dibujar. En este Foro encontrarás no poca información: aquí puedes ver los resultados de una única búsqueda en los mismos, habrá más, seguramente.
He preparado un sencillo ejemplo (que adjunto), a ver qué te parece: conste que es más que sencillo simple, para que te hagas idea, acaso.
Archivos Adjuntos
Tipo de Archivo: zip ejemplo.zip (3,2 KB, 79 visitas)
__________________
David Esperalta
www.decsoftutils.com

Última edición por dec fecha: 24-10-2005 a las 15:18:41. Razón: Corrección del texto.
Responder Con Cita
  #6  
Antiguo 24-10-2005
erasmorc erasmorc is offline
Miembro
 
Registrado: ago 2004
Posts: 66
Poder: 20
erasmorc Va por buen camino
Buenos dias,


Al parecer no he podido explicarme bien, vamos de nuevo. Todo eso que ustedes me plantean ya lo tengo hecho, a este nivel ya puedo agregar danos preestablecidos al coche osea tengo todo el coche por piezas en un form, el usuario puede seleccionar que parte del coche tiene problemas, todo esto en Timage entonces tengo determinado los diferentes tipos de dano que puede tener el coche abolladuras, rayaduras, golpes, etc bien a cada uno de estos danos le tengo asignado un boton que enciende y apaga ya sea el caso si tiene la el dano o no pero lo que quiero lograr es que no sean ediciones preestablecidas sino que yo pueda abrir la imagen en edicion y colocar en toda su superficie cualquier anotacion osea una raya, un punto, una x, etc y que esto lo pueda asociar al registro.

Si te fijas en el ejemplo que me enviaste si dices que tienes una averia en la parte trasera te marca toda la parte trasera, pero no tienes averia en toda la parte trasera sino solo en la esquina izquiera, entonces yo quisiera poder posicionarme en esa esquina y colocar una raya, un punto, un led rojo, un circulo, lo que sea que indique que es en esa area que tengo el dano

Slds,
Neo

Última edición por erasmorc fecha: 24-10-2005 a las 17:18:41.
Responder Con Cita
  #7  
Antiguo 24-10-2005
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Cita:
Empezado por erasmorc
que yo pueda abrir la imagen en edicion y colocar en toda su superficie cualquier anotacion osea una raya, un punto, una x, etc y que esto lo pueda asociar al registro.
Suponiendo que ya tienes cargada la imagen como bitmap (un jpg tendrás primero que convertirlo para poder dibujar) y que ya sabes como guardar los cambios, entonces me parece que lo único que te falta es como dibujar directamente sobre la imagen. Lo que te pongo a continuación te permite dibujar "a manos libres" o sea, cualquier cosa:

Código Delphi [-]
type
  TForm1 = class(TForm)
    Image1: TImage;

    procedure ImageMouseDown(...);
    procedure ImageMouseMove(...);
    procedure ImageMouseUp(...);
  private
    PenDown: Boolean; // indica si el botón del ratón está presionado
    StartPoint: TPoint; // punto inicial para dibujar una línea
  end;

implementation

procedure TForm1.Image1MouseDown(...);
begin
  PenDown := true;
  StartPoint := Point(X, Y);
end;

procedure TForm1.Image1MouseMove(...);
begin
  if PenDown then
  begin
    Image1.Canvas.Pen.Color := clRed;
    Image1.Canvas.Pen.Width := 2;

    Image1.Canvas.MoveTo(StartPoint.X, StartPoint.Y);
    Image1.Canvas.LineTo(X, Y);
    StartPoint := Point(X, Y);
  end;
end;

procedure TForm1.Image1MouseUp(...);
begin
  PenDown := false;
end;

Básicamente estás dibujando pequeños segmentos de recta; en conjunto hacen un dibujo a manos libres.

// 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


La franja horaria es GMT +2. Ahora son las 19:07:56.


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