LocalToScreen kann doch fast nur außerhalb des sichtbaren Bereichs malen, wenn du die Screen-Koordinaten dann für das viel kleinere Bitmap benutzt.
Warum nicht erstmal einfach und diese Koordinaten/Zahlen in ein Label schreiben?
Oder an Position 0:0 als Text ins Bitmap.
Oder mal im Debugger nachsehn, was da drin steht?
plus die Eingangswete, Zwischenschritte usw.,
gegenüber img1.Width, img1.Bitmap.Width und Height.
Delphi-Quellcode:
BitmapPos := pb1.LocalToScreen(PointF(X, Y));
BitmapPos := img1.ScreenToLocal(BitmapPos);
?
Nach Stunden des probierens habe ich nur rausgefunden das wenn ich oben Links genau ins eck klicke
mit dieser Zeile
Canvas.DrawEllipse(RectF(X - 10, Y - 10, X + 10, Y + 10), 1);
ohne Bitmap pos: setzt er den "1/4" Kreis genau. Je weiter ich oben links weg gehe desto weiter (exponentiell) entfernt sich der Kreis.
Ich habe das Image auch in die "Hauptform" gezogen um
Multiview und TLayout als Fehlerquelle auszuschließen.
Das ist wirklich zum verzweifeln. Ich hoffe Ihr habt noch Ideen..