Ver Mensaje Individual
  #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
Reputación: 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