Hallo,
danke für die Antwort.
Das Ausschneiden funktioniert grundsätzlich. Ich verwende einen Monitor mit Auflösung 3840 x 2160 und Skalierung Text 150% (Einstellungen/Bildschirm/Skalierung und Anordnung)
Die Funktionen ... liefern für das Fenster im Vordergrund
Code:
GetWindowRect(
Handle, WindowRect );
GetClientRect(
Handle, WindowRect );
liefern 2560 x 1377 mit angezeigter Taskleiste, 1417 ohne Taskleiste - 1440 sollte die skalierte Bildschirmhöhe sein. Das Delta ist wohl der Fenstertitel.
Beim Ausschnitt mit Bitblt muss ich die reale Auflösung (3840 x 2160) als Basis angeben z.B. Ausschneiden am rechten Rand.
Wie kann ich den Skalierungsfaktor oder die physikatische Auflösung abfragen?
Code:
GetSystemMetrics(SM_CXSCREEN)
GetSystemMetrics(SM_CYSCREEN)
liefert ebenfalls 2560 x 1440, also nicht wirklich 3840 x 2160
Gruß DelphiFan2008