Zitat:
Ja, das kommt dem schon recht nahe. Nur wird nicht zur nächsten Rasterlinie ge"snappt", sondern zu einer die wesentlich weiter links davon liegt.
(...)
Delphi-Quellcode:
a := x div Self.GridWidth;
b := x - a * Self.GridWidth;
if b < (Self.GridWidth div 2) then
ImageEnVect.Layers[ImageEnVect.LayersCurrent].PosX := a * Self.GridWidth
else
ImageEnVect.Layers[ImageEnVect.LayersCurrent].PosX := (a + 1) * Self.GridWidth;
Das ist doch 1:1 mein Code... (Du hast im ersten Code nur die Nummer einer Linie mit seiner Koordinate verwechselt)
Erwarte das Beste und bereite dich auf das Schlimmste vor.