Wie ist denn Windows/Desktop/Monitor eingestellt?
> Desktop > Konextmenü > Anzeigeeinstellungen > Skalierung und Anordnung
Und was hast du dazu in den Projektoptionen angegeben?
> Projektoptionen > Anwendung > Manifest > DPI-Unterstüzung (natürlich für die Windows-Configs)
@KodeZwerg
Wenn, dann natürlich pb1.ScreenToClient, denn Self.ScreenToClient wird nicht ganz passen.
Und
eventuell sicherheitshalber auch nochmal von pb1 zu img1 umrechnen, also pb1.ConvertLocalPointTo(img1,...) oder img1.ConvertLocalPointFrom(pb1,...),
oder gleich direkt img1.ScreenToClient verwenden, falls die Beiden unterschiedlich skallieren.
Und dann noch der Spaß, falls auch noch das Bitmap in TImage gestrecht/scaliert wird.
z.B. in der
VCL ändert sich die Größe des Bitmaps nicht, wenn sich die Größe des TImages ändert, nachdem das erste Mal auf das Bitmap zugegriffen (es generiert) wurde. Und hier vermutlich auch nicht.