AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Die größe eines Monitors ermitteln (nicht Pixel)

Die größe eines Monitors ermitteln (nicht Pixel)

Ein Thema von Alallart · begonnen am 12. Mai 2018 · letzter Beitrag vom 13. Mai 2018
Antwort Antwort
Seite 1 von 2  1 2   
Alallart

Registriert seit: 8. Dez 2015
156 Beiträge
 
#1

Die größe eines Monitors ermitteln (nicht Pixel)

  Alt 12. Mai 2018, 21:25
Bevor ich mich auf die Suche mache, denn auf die Schnelle habe ich nichts gefunden, wollte ich mal fragen ob einer weiß ob man die Größe eines Monitors irgendwo im System auslesen kann, vorausgesetzt das System weiß sowas. Da heute dank P&P vieles ausgelesen werden kann, frage ich mich ob auch die Größe irgendwo angegeben ist, also z. B. 24" bzw. im Cm.

Ich meine damit nicht die Pixel Breite und Höhe. Ich brauche die Breite und Höhe in Zentimeter.
  Mit Zitat antworten Zitat
Benutzerbild von KodeZwerg
KodeZwerg

Registriert seit: 1. Feb 2018
3.691 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: Die größe eines Monitors ermitteln (nicht Pixel)

  Alt 12. Mai 2018, 21:43
HKEY_LOCAL_MACHINE/System/ControlSet001/Enum/DISPLAY/ ControlSet002, ControlSet003 usw.
Das bildet den Einstieg in die Systemregistrierung.

Die Windows-Api hat auch ein paar nützliche Befehle:
EnumDisplayMonitors(), GetMonitorInfo(), MonitorFromWindow(), EnumDisplayDevices(), DeviceCapabilities(), GetDeviceCaps() usw.

ABER die tatsächliche Dimension des verbauten Panels bekommst Du glaube ich nur über den Treiber heraus.
Mir ist keine Methode/Funktion bekannt die das auswertet.

Es gibt ja auch keinen Befehl mir die Dimension meines PC-Gehäuse auszuwerten oder wie groß der Raum ist in dem der PC steht.
Gruß vom KodeZwerg

Geändert von KodeZwerg (12. Mai 2018 um 21:51 Uhr)
  Mit Zitat antworten Zitat
hstreicher

Registriert seit: 21. Nov 2009
223 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#3

AW: Die größe eines Monitors ermitteln (nicht Pixel)

  Alt 13. Mai 2018, 07:19
Auflösungen / DPI = Abmessungen
  Mit Zitat antworten Zitat
Benutzerbild von KodeZwerg
KodeZwerg

Registriert seit: 1. Feb 2018
3.691 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: Die größe eines Monitors ermitteln (nicht Pixel)

  Alt 13. Mai 2018, 07:31
34" @ 21:9 @ 3440x1440 @ 96dpi
Es ist wahrscheinlich noch etwas früh aber wie wende ich jetzt genau Deine Formel an um als Ergebnis = 34 zu erhalten?
Gruß vom KodeZwerg
  Mit Zitat antworten Zitat
hstreicher

Registriert seit: 21. Nov 2009
223 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#5

AW: Die größe eines Monitors ermitteln (nicht Pixel)

  Alt 13. Mai 2018, 10:39
34" @ 21:9 @ 3440x1440 @ 96dpi
Es ist wahrscheinlich noch etwas früh aber wie wende ich jetzt genau Deine Formel an um als Ergebnis = 34 zu erhalten?
also die Angaben zu den Abmessungen eines Bildschirms ist die Diagonale

also Wurzel aus (Hoehe^2 + breite^2)

Abmessungen = Sqrt( (Pixelx/Dpi)^2+(pixely/dpi)^2) // ggf mal 2.54 wenns CM sein sollen

wie genau die Angaben sind die das Betriebssytem zurückliefert kann ich nicht beurteilen
  Mit Zitat antworten Zitat
Alallart

Registriert seit: 8. Dez 2015
156 Beiträge
 
#6

AW: Die größe eines Monitors ermitteln (nicht Pixel)

  Alt 13. Mai 2018, 12:42
Also ich ging nicht davon aus, dass Windows es weiß, aber in den letzten Jahren hat sich viel an der Technik getan. Es gab mal eine Zeit, da waren die Monitore monodirektional, dann wurden sie bidirektional. Ich habe mich gefragt ob die inzwischen evtl. ihre Größe Windows mitteilen.

Wie mache ich es in meinem Programm aktuell? Von Hand. Da habe ich zwei Möglichkeiten, eine einfache und eine weniger einfache. Die Einfache geht über die Eingabe der Bildschirmdiagonalen. Weiß ich, dass der Monitor 24" ist und 16:9, ist die erste Formel: f = QWurzel(16² + 9²) >> f = 18,36. Damit berechne ich dann Breite = 24 / f * 16. Oder Höhe = 24 / f * 9. Ergebnisse sind in Zoll, mit 2,54 multipliziert in Zentimeter. Bei der anderen Methode wird die Bildschirmbreite und -höhe von Hand gemessen, die Rechnung bleibt aber ähnlich.

Wenn wir schon dabei sind, und weil es mich selbst interessiert, bei einem 24" Monitor ist DPI: DPI = 1920 / Breite in Zoll = 91,8. Bei 21 ist sie 104,9. Bei 27 ist sie 81,3. Also immer anders.

Zurück zur Frage. Ganz kompliziert ist es also nicht, nur die Leute, für die ich das Programm schreibe, haben keine Ahnung was eine Bildschirmdiagonale ist, oder 16:9. Ich dachte ich bekomme es einfacher raus.
  Mit Zitat antworten Zitat
Benutzerbild von KodeZwerg
KodeZwerg

Registriert seit: 1. Feb 2018
3.691 Beiträge
 
Delphi 11 Alexandria
 
#7

AW: Die größe eines Monitors ermitteln (nicht Pixel)

  Alt 13. Mai 2018, 16:55
Abmessungen = Sqrt( (Pixelx/Dpi)^2+(pixely/dpi)^2) // ggf mal 2.54 wenns CM sein sollen
sqrt(sqr(3440 / 96) + sqr(1440 / 96)) = 38.84"
sqrt(sqr(3440 / 96) + sqr(1440 / 96)) * 2.54 = 98.67 cm

Die Formel funktioniert so nicht.
Tatsächliche Dimension: 34" = 86.36 cm, so aufgeteilt 796.63 mm x 333.46 mm

edit
Andersrum funktioniert es die Diagonale zu berechnen: sqrt(sqr(796.63) + sqr(333.46)) / 10 = 86.36 cm
Gruß vom KodeZwerg

Geändert von KodeZwerg (13. Mai 2018 um 17:31 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von haentschman
haentschman
Online

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
5.431 Beiträge
 
Delphi 12 Athens
 
#8

AW: Die größe eines Monitors ermitteln (nicht Pixel)

  Alt 13. Mai 2018, 07:33
Moin...
Zitat:
Ich brauche die Breite und Höhe in Zentimeter.
Ich fürchte das Vorhaben ist nicht realisierbar. Mein Yoga (10 Zoll) hat exakt die gleiche Auflösung(1980x200) und DPI wie mein 24"er auf dem Schreibtisch...offensichtlich sind die nicht gleich groß.

Geändert von haentschman (13. Mai 2018 um 08:10 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von KodeZwerg
KodeZwerg

Registriert seit: 1. Feb 2018
3.691 Beiträge
 
Delphi 11 Alexandria
 
#9

AW: Die größe eines Monitors ermitteln (nicht Pixel)

  Alt 13. Mai 2018, 07:43
Guten Morgen, wach werden ^_^
Ich geh mal von 1980x1080 aus hehe
Gruß vom KodeZwerg

Geändert von KodeZwerg (13. Mai 2018 um 07:46 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von haentschman
haentschman
Online

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
5.431 Beiträge
 
Delphi 12 Athens
 
#10

AW: Die größe eines Monitors ermitteln (nicht Pixel)

  Alt 13. Mai 2018, 07:56
Zitat:
Ich geh mal von 1980x1080 aus hehe
1980x1200...ich sollte mal die Batterien wechseln.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2   

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:32 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz