Eje de coordenadas

Hola
Tengo el siguiente problema:
Necesito dejar el eje de coordenadas del canvas en el centro del canvas de modo que sea igual al eje cartesiano, así 10,10 este en el cuadrante superior derecho, y 10,-10 este en el cuadrante inferior derecho.
Eso es todo
Gracias
1

1 Respuesta

47.200 pts. Analista/Programador de Sistemas Oracle
Para este típico problema, ya sea dejar el eje de coordenadas del canvas en el centro del canvas, o que no nos interesa que las y vayan al revés de lo esperado, etc. yo me construyo funciones de conversión en el que se pasa el Rect y el canvas y se devuelve otro Rect con las coords. A nuestra medida. O si es un punto simplemente, lo mismo pero con un TPoint.
En tu caso podría ser:
function(ACanvas : TCanvas; APoint : TPoint) : TPoint;
begin
Result.X := (ACanvas.ClipRect.Right div 2) + APoint.X;
Result.Y := (ACanvas.ClipRect.Bottom div 2) + APoint.Y;
end;
Lo hago de memoria, pero más o menos vendría a ser esto.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas