Ir al contenido


Foto

Dibujar lineas sobre Timage con propiedad WrapMode = Fit


  • Por favor identifícate para responder
No hay respuestas en este tema

#1 el-mono

el-mono

    Advanced Member

  • Miembros
  • PipPipPip
  • 136 mensajes

Escrito 24 enero 2018 - 12:25

Hola Gente como les va.

 

Necesito permitir al usuario dibujar lineas a mano alzada sobre un Timage con propiedad WrapMode = Fit (conservo esa propiedad porque también quiero darle la posibilidad al usuario de redimensionar la imagen).

 

El problema que con esa propiedad del Timage cuando dimensiono la imagen y comienzo a dibujar sobre el canvas las lineas se dibujan siempre a varios pixeles a los costados donde apoyo el cursor.

 

Como puedo hacer para calcular las coordenadas y así dibujar las lineas sobre el canvas del Timage donde se apoyo el cursor ?

 

Utilizo en el evento Move del Timage el siguiente codigo:


delphi
  1. img.Bitmap.Canvas.BeginScene();
  2. img.Canvas.StrokeDash := TstrokeDash.Solid;
  3. img.Bitmap.Canvas.Stroke.Color := Talphacolorrec.Blue;
  4. img.Bitmap.Canvas.StrokeDash := TstrokeDash.Solid;
  5. img.Bitmap.Canvas.StrokeThickness:= 5;
  6. img.Bitmap.Canvas.DrawLine(PointF(X, Y), PointF(X, Y), 100, img.Bitmap.Canvas.stroke);
  7. img.Bitmap.Canvas.EndScene();

Edito: Utilizo Delphi Berlin y es un proyecto Firemonkey.


  • 0