Bmp auslesen - Probleme mit biXPelsPerMeter



  • Hallo,

    ich versuche im Moment ein Bmp-File auszulesen. Klappt auch ganz gut, bis auf diese komische Konstante biXPelsPerMeter bzw. biYPelsPerMeter im Header.

    Erstmal, was bedeutet das konkret? Auf wikipedia steht "Pixel pro Meter". Was soll das überhaupt heißen?
    Angeblich ist der Wert immer auf 0, aber in den zwei Files, die ich erstellt habe ist eine 18 drin (funktioniert super) und eine 19 (funktioniert gar nicht) - bei selber Farbtiefe (24), unkomprimiert.

    Beim Wert 19 wird nur die untere Hälfte des Bildes dargestellt. (so als wäre der Offset der Bilddaten zu groß - der stimmt aber)

    Kann mir bitte jemand weiterhelfen? - Thx! 😉



  • Hm, scheint ein problematisches Thema zu sein. Hat jemand eine Idee wie oder wo man sowas rausbekommt?



  • Die Angabe hat mit der Größe des Bildes in Pixels nichts zu tun.
    So ziemlich jedes Programm ignoriert diese Angabe sogar (und setzt sie auch nicht)

    biXPelsPerMeter gibt an, wieviele Pixel pro Meter auf einem Anzeigegerät verwendet werden sollen.
    Ein Standardwert für biXPelsPerMeter ist z.B. biXPelsPerMeter=3780, das in Inch umgerechnet (durch ~39.37 teilen) ergibt dann 96 Pixel pro Inch (96 dpi)

    D.h. wenn der Wert tatsächlich gültig ist und man weiss wieviele Pixel das Anzeigegerät in der Breite hat und wie breit das Gerät in Inch/Meter/... ist, kann man anhand von biXPelsPerMeter das Bild genau auf die größe skalieren, die der Author des Bildes gewünscht hat.

    Je nachdem was du vorhast: Ignorier diesen Wert einfach 😉
    (Werte kleiner als 2834 (72 dpi) würde ich auf jedenfall ignorieren)



  • Vielen Dank...
    komisch ist nur, dass die anderen Werte stimmen. Hm, d.h. Fehler im Programm suchen 😕


Anmelden zum Antworten