Einzelnen Beitrag anzeigen

PeterPanino

Registriert seit: 4. Sep 2004
1.465 Beiträge
 
Delphi 10.4 Sydney
 
#1

Physisches Bildraster eines Monitors erfahren?

  Alt 28. Aug 2018, 21:08
Ich habe extra den Ausdruck "Physisches Bildraster" verwendet, da es bei den Begriffen "DPI" und "PPI" offenbar einige unterschiedliche Auffassungen gibt.

Ich habe z.B. 2 Monitore, von denen der eine eine hohe Auflösung (3840 x 1600) und ein feines Bildraster hat, und der andere eine geringere Auflösung (2560 x 1440) und ein gröberes Bildraster hat.

Die Unterschiede beim Bildraster führen dazu, dass wenn ich ein Fenster vom einen zum anderen Monitor verschiebe, dieses Fenster beim anderen Monitor mit dem gröberen Bildraster größer erscheint, weil ja die selbe Menge an darzustellenden Pixeln des Fensters bei einem gröberen physikalischen Bildraster mehr Platz benötigen und dieses logischerweise dann ja größer aussieht.

Dies ist besonders dann gut zu erkennen, wenn ich das Fenster so verschiebe, dass es mit der linken Hälfte auf dem einen und mit der rechten Hälfte auf dem anderen Monitor sichtbar ist.

Wie kann man nun dieses jeweilige Pixelraster, das ja in den Werbe-Aussagen der Monitor-Hersteller eine große Rolle spielt, programmiertechnisch erkennen? Ich habe folgenden Code versucht:

Delphi-Quellcode:
CodeSite.Send('Monitor 1', Screen.Monitors[0].PixelsPerInch);
CodeSite.Send('Monitor 2', Screen.Monitors[1].PixelsPerInch);
Beide ergeben jedoch den selben Wert: 120. Wie kann man also diesen physikalischen Wert per Code erhalten?

Geändert von PeterPanino (28. Aug 2018 um 21:14 Uhr)
  Mit Zitat antworten Zitat