DPI von Monitor immer bei 96

  • VB.NET

Es gibt 10 Antworten in diesem Thema. Der letzte Beitrag () ist von c1b1.

    DPI von Monitor immer bei 96

    HiHo,

    Kann mir jemand von euch sagen wie ich am besten vom Monitor die Punktdichte (DPI) auslesen kann. Wenn ich vom Graphics die DPIX/DPIY nutze dann kommt immer 96 raus, obwohl mein Monitor höhere Dichte hat. Hab es nun an mehreren Monitoren getestet. es kommt immer 96 als Ergebnis raus. Als Bsp: Ich habe nun einen 21.5 Zoll Monitor mit einer Auflösung von 1920x1080, also somit wären es 102,46 DPI, das Grafikobjekt zeigt jedoch nur 96!!! Wenn ich nun z.b. eine A4 Seite zeichne ist die kleiner wie in der Realität und das möchte ich verhindern.

    Was mach ich den falsch?

    Vielen Dank
    C1B1
    Der Code wäre hilfreich.
    Da haste aber glück gehabt das es ned 69 ist.
    Moderatorin: "Apropo ritzen.." Shin Chan: "hoho sie hat Po ritze gesagt"
    "saying to buy a mac because your anti-virus expired is like saying you're out of condoms so you're just going to go fuck dudes"
    "Wie auch in anderen Threads kann ich leider nichts bieten außer vielleicht spaß beim Skypen aber mehr leider auch nicht." - Sind kinder pornos nicht verboten?
    Moderatorin: "Apropo ritzen.." Shin Chan: "hoho sie hat Po ritze gesagt"
    "saying to buy a mac because your anti-virus expired is like saying you're out of condoms so you're just going to go fuck dudes"
    "Wie auch in anderen Threads kann ich leider nichts bieten außer vielleicht spaß beim Skypen aber mehr leider auch nicht." - Sind kinder pornos nicht verboten?
    ich weiß net ob dieser wirklich weiterhilft. Hier ist er mal

    VB.NET-Quellcode

    1. Private Sub Form1_Paint(ByVal sender As System.Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles MyBase.Paint
    2. e.Graphics.DrawRectangle(Pens.Red, New Rectangle(1, 1, 21.0 / 2.54 * e.Graphics.DpiX, 29.7 / 2.54 * e.Graphics.DpiY))
    3. e.Graphics.DrawString(e.Graphics.DpiX & " | " & e.Graphics.DpiY, New Font("Arial", 12, FontStyle.Regular), Brushes.Red, New Point(5, 5))
    4. End Sub


    //Edit
    Vielen dank schon mal für die Antworten, jedoch helfen die mir nicht wirklich weiter. Wie man schon oben im Code sieht versuch ich die A4 seite 1:1 auf den Bildschirm zu bringen und leider braucht man (soweit ich weiß) die DPI des Monitors. Was auch gehen würde ist die Zollgröße des Monitors, jedoch hab ich dort auch noch keine Möglichkeit gefunden diese auszulesen.

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „c1b1“ ()

    Ich habe mal nachgesehen und ~96 DPI stimmt doch.

    Wenn dein Monitor 21.5" Diagonale hat und Widescreen ist, dann hat er eine Abmessung von 51,4cm Breite und 38,55cm Höhe. Nimmst du jetzt die Breite und rechnest sie in Zoll um bekommst du 20,23622" => 20" nun nimmst die Horizontalen Pixel 1920 und teilst sie durch die Zollbreite

    1920 / 20 = 96 DPI
    Hab mal den Code getestet:
    - Monitorauflösung: 1280x1024

    Ergebniss: 96|96
    Moderatorin: "Apropo ritzen.." Shin Chan: "hoho sie hat Po ritze gesagt"
    "saying to buy a mac because your anti-virus expired is like saying you're out of condoms so you're just going to go fuck dudes"
    "Wie auch in anderen Threads kann ich leider nichts bieten außer vielleicht spaß beim Skypen aber mehr leider auch nicht." - Sind kinder pornos nicht verboten?
    Naja mit 96 pass des nicht ganz.
    WIKI
    da gibts dir Formel für die Punktdichte für Monitore. wenn ich dort dann in die Formel die Werte einsetze kommen die 102.46 raus und dann stimmt des auch mit der A4 seite, also wenn ich die an den Monitor halte, überein


    UND wie ihr seht es kommt immer 96 raus egal welchen Monitortyp man hat => das kann nicht ganz sein :D

    c1b1 schrieb:

    Was mach ich den falsch?

    Du brauchst die PHYSIKALISCHE Größe des Displays um die DPI zu berechnen ... nicht ganz trivial.
    google mal nach "Windows retrieve physical screen size". Alles NICHT wirklich zuverlässig!


    Wenn dein Monitor 21.5" Diagonale hat

    Bei uns heißt es: WENN meine Großmutter Räder hätte, wäre sie ein Omnibus.
    1920x1080 gibt es von bis. Insbesondere da ich ja auch einen 75 Zoll Fernseher anschließen könnte, oder irgendwas winziges mit Retina-Qualitäten. Woher weiß ich (oder Windows) aber, wie groß da Teil ist? Und wenn ich nen Beamer anschließe, wie groß ist dann das Bild? Offensichtlich abhängig von der Entfernung des Beamers zur Leinwand! Wie findet Windoof das raus?