AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Delphi Physisches Bildraster eines Monitors erfahren?

Physisches Bildraster eines Monitors erfahren?

Ein Thema von PeterPanino · begonnen am 28. Aug 2018 · letzter Beitrag vom 29. Aug 2018
Antwort Antwort
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.785 Beiträge
 
Delphi 12 Athens
 
#1

AW: Physisches Bildraster eines Monitors erfahren?

  Alt 28. Aug 2018, 21:05
Frage: Welches Betriebssystem verwendest du?

Falls es eine aktuelle Windows 10 Version ist, probier doch mal das angehängte Manifest für deine Anwendung zu verwenden. In Delphi 10.1 Berlin kannst du das in den Projektoptionen unter Anwendung - Manifestdatei einstellen.
Angehängte Dateien
Dateityp: zip HighDPIManifest.zip (857 Bytes, 16x aufgerufen)
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
PeterPanino

Registriert seit: 4. Sep 2004
1.472 Beiträge
 
Delphi 10.4 Sydney
 
#2

AW: Physisches Bildraster eines Monitors erfahren?

  Alt 28. Aug 2018, 21:15
Ich fürchte, dass ich mich wieder mal falsch ausgedrückt habe. Ich habe aber wirklich das gemeint, was ich in der Überschrift geschrieben habe:

Wie kann ich das physische Pixelraster eines Monitors erfahren?

Ich möchte also NICHT meine App an irgendeine Auflösung anpassen, sondern ich habe wirklich nur das gemeint, was ich geschrieben habe.
  Mit Zitat antworten Zitat
Benutzerbild von KodeZwerg
KodeZwerg

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

AW: Physisches Bildraster eines Monitors erfahren?

  Alt 28. Aug 2018, 21:19
Wie kann ich das physische Pixelraster eines Monitors erfahren?
In Handbuch von Monitor-Dokumentation sollte es bei Technischen Details vermerkt sein.
Gruß vom KodeZwerg
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.785 Beiträge
 
Delphi 12 Athens
 
#4

AW: Physisches Bildraster eines Monitors erfahren?

  Alt 28. Aug 2018, 22:05
Ich möchte also NICHT meine App an irgendeine Auflösung anpassen, sondern ich habe wirklich nur das gemeint, was ich geschrieben habe.
Und ich habe dir ein Manifest geschickt, mit der deine Anwendung (zumindest unter einer aktuellen Windows-Version) diese Informationen in den von dir bereits abgefragten Werten für PixelsPerInch liefert.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.590 Beiträge
 
Delphi 12 Athens
 
#5

AW: Physisches Bildraster eines Monitors erfahren?

  Alt 28. Aug 2018, 22:28
Ich möchte also NICHT meine App an irgendeine Auflösung anpassen, sondern ich habe wirklich nur das gemeint, was ich geschrieben habe.
Und ich habe dir ein Manifest geschickt, mit der deine Anwendung (zumindest unter einer aktuellen Windows-Version) diese Informationen in den von dir bereits abgefragten Werten für PixelsPerInch liefert.
Wenn dein Programm nicht explizit als High-DPI-kompatibel gekennzeichnet ist, dann werden gewisse APIs "virtualisiert" und liefern dir in deinem Programm "andere" Werte,
entsprechend den Daten die Windows bei der Skalierung verwendet, wird dir da nur das interne/virtuelle Wert gegeben, welchen dein Programm eben nutzt, anstatt dem, was wirklich im System vorhanden ist.

Es ist praktisch das Gleiche wie bei den unterschiedlichen Verzeichnissen für 64 Bit und 32 Bit, wo dein Programm "hintenrum" auf andere Verzeichnisse umgelenkt wird, ohne dass es selber was davon mitbekommt. (außer es deaktiviert diese automatischen Umleitungen).

Und gerade für sowas gibt es eben dieses Manifest, wo dein Programm dem Windows seine "Fähigkeiten" mitteilt und Windows dann entsprechend andere Funktions-Versionen verwendet oder eben gewisse Dinge umleitet/virtualisiert.
Ein Therapeut entspricht 1024 Gigapeut.

Geändert von himitsu (28. Aug 2018 um 22:30 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von KodeZwerg
KodeZwerg

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

AW: Physisches Bildraster eines Monitors erfahren?

  Alt 29. Aug 2018, 06:33
@himitsu, wie schaut es mit DSR (Dynamic Super Resolution) aus?
Gruß vom KodeZwerg
  Mit Zitat antworten Zitat
PeterPanino

Registriert seit: 4. Sep 2004
1.472 Beiträge
 
Delphi 10.4 Sydney
 
#7

AW: Physisches Bildraster eines Monitors erfahren?

  Alt 29. Aug 2018, 09:10
Der Hersteller meines größeren Monitors (LG ULTRAWIDE 38UC99) gibt bei "Pixel Pitch" einen Wert von "0,229 mm x 0,2299 mm" an, was auch rechnerisch hinkommt, wenn man die metrische Breite des Monitor-Bildes (870 mm) durch die höchstmögliche Auflösungsbreite des Monitors (3840 Pixel) dividiert:

870 mm / 3840 = 0,23 mm (annähernd)

Das sollten die Maße der einzelnen Hardware-"RGB Streifen" sein, also die physikalische Ausdehnung eines einzelnen Monitor-Bildpunktes, der einen roten, grünen und blauen Leuchtpunkt enthält.

Die metrischen Daten des Monitors habe ich übrigens aus dem EDID (Extended Display Identification Data) des Monitors ausgelesen.

Geändert von PeterPanino (29. Aug 2018 um 09:26 Uhr)
  Mit Zitat antworten Zitat
Der schöne Günther

Registriert seit: 6. Mär 2013
6.216 Beiträge
 
Delphi 10 Seattle Enterprise
 
#8

AW: Physisches Bildraster eines Monitors erfahren?

  Alt 29. Aug 2018, 09:36
Wenn du schon die Größe deiner Bildfläche in mm auslesen kannst (ich kenne nur die Variante über GetDeviceCaps(..), wo ist dann eigentlich noch das Problem?
  Mit Zitat antworten Zitat
Antwort Antwort

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 10:03 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