So habe dir mal eben was schnell gemacht. Sollte so ziemlich von allen unabhängig sein.
Der Knackpunkt ist der, dass du deine logischen Koordinaten des Koordinatenkreuzes in "physische" Pixel zum Eintragen umrechnen musst. Und das macht diese Funktion:
Delphi-Quellcode:
function Coordinates2Pixel(Origin, cords: TPoint; Interval: Integer): TPoint;
begin
result.X := Origin.X + (cords.X * Interval);
result.Y := Origin.Y - (cords.Y * Interval);
end;
Ich habe es so programmiert, dass du den Maßstab (SCALE) beliebig verändern kannst, ohne sonst irgend etwas am Code ändern zu müssen.
Das ganze Projekt im Anhang.
Nachtrag: Ich habe das ganze erstmal auf ganzzahlige Einträge beschränkt.