Pixel pro Zoll für den Monitor



  • Hallo,

    Ich hätte gerne die Pixel pro Zoll (X und Y) für den Monitor.
    Im BCB Forum habe Ich die Folgende Funktion beschrieben bekommen

    int XPixelsPerInch = GetDeviceCaps(GetDC(0), LOGPIXELSX);
    int YPixelsPerInch = GetDeviceCaps(GetDC(0), LOGPIXELSY);
    

    Funktionieren aber leider nicht richtig, wenn Ich mit dem Lineal nachmesse gibt es enorme abweichungen. Außerdem ändern bei einen Auflösungs wechsel sich die Werte nicht.
    Weiss hier jemand wie man das richtig ermittelt?

    Mfg
    Progger



  • Hi Progger,

    ich glaub du brauchst HORZRES für die gewählte Auflösung
    und HORZSIZE für die Bildschirm grösse.
    Die ist allerdings in mm, musst du also umrechen.

    Jockel





  • @Jockel
    Mit HORZSIZE und VERTSIZE erhalte Ich 320x240 mein Monitor Bildschirm hat aber die Ausmaße 330x267.
    Ich hab ein TFT Monitor das sollte doch keine Auswirkungen haben, oder?



  • Hi Progger,

    damit kannste zufrieden sein!!! Soooo genau sind die Dinger nicht kalibriert!

    Auf den normalen Monitoren (auch TFT) sind Kreise auch meist 'n bissel Oval!

    Wenn du noch genauer arbeiten willst (musst), bleibt nur eins:

    Mit Graphik 'nen Kreis bekannter Groese zeichnen (so gross wie geht), den am Monitor ausmessen und die Werte im Programm speichern / verrechnen. Dein Prog kann dann zwei Korrekturfaktoren ausrechnen / speichern. (Muss fuer jeden neuen Monitor einmal gemacht werden!) Das duerfte aber bei Deinem 15" TFT nicht sinnvoll sein. 😉

    PS: oder Du benutzt einen kalibrierbaren CAD- Monitor (sind sauteuer).
    Denk aber nicht, dass die Rechnung beim Drucker genauer ist!!! Da brauchts (kalibrierte) Plotter!!!(auch nicht billig) :p


Anmelden zum Antworten