Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
[Das dieser Seite zugeordnete Feature DirectShow-ist ein Legacyfeature. Es wurde von MediaPlayer, IMFMediaEngineund Audio/Video Capture in Media Foundationersetzt. Diese Features wurden für Windows 10 und Windows 11 optimiert. Microsoft empfiehlt dringend, dass neuer Code MediaPlayer-, IMFMediaEngine und Audio-/Videoaufnahme in Media Foundation anstelle von DirectShow-verwendet, wenn möglich. Microsoft schlägt vor, dass vorhandener Code, der die Legacy-APIs verwendet, um die neuen APIs zu verwenden, falls möglich umgeschrieben werden.]
Wenn Sie mit der Grafikprogrammierung noch nicht fertig sind, erwarten Sie möglicherweise, dass eine Bitmap im Arbeitsspeicher angeordnet wäre, sodass die oberste Zeile des Bilds am Anfang des Puffers angezeigt wurde, gefolgt von der nächsten Zeile usw. Dies ist jedoch nicht unbedingt der Fall. In Windows können geräteunabhängige Bitmaps (DIBs) in zwei verschiedenen Ausrichtungen, bottom-up und top-down, im Arbeitsspeicher platziert werden.
In einem Bottom-up-DIB beginnt der Bildpuffer mit der unteren Zeile von Pixeln, gefolgt von der nächsten Zeile nach oben usw. Die oberste Zeile des Bilds ist die letzte Zeile im Puffer. Daher ist das erste Byte im Arbeitsspeicher das untere linke Pixel des Bilds. In GDI sind alle DIBs bottom-up. Das folgende Diagramm zeigt das physische Layout eines Bottom-up-DIB.
In einem TOP-down-DIB wird die Reihenfolge der Zeilen umgekehrt. Die oberste Zeile des Bilds ist die erste Zeile im Arbeitsspeicher, gefolgt von der nächsten Zeile nach unten. Die untere Zeile des Bilds ist die letzte Zeile im Puffer. Bei einem TOP-down-DIB ist das erste Byte im Arbeitsspeicher das obere linke Pixel des Bilds. DirectDraw verwendet Top-Down-DIBs. Das folgende Diagramm zeigt das physische Layout eines Top-down-DIB:
Bei RGB-DIBs wird die Bildausrichtung durch das biHeight- Element der BITMAPINFOHEADER- struktur angegeben. Wenn biHeight- positiv ist, ist das Bild unten oben. Wenn biHeight- negativ ist, wird das Bild von oben nach unten angezeigt.
DIBs in YUV-Formaten sind immer top-down, und das Zeichen des biHeight- Members wird ignoriert. Decoder sollten YUV-Formate mit positiven biHeight-anbieten, aber sie sollten auch YUV-Formate mit negativen biHeight- akzeptieren und das Zeichen ignorieren.
Außerdem sollte jeder DIB-Typ, der eine FOURCC- im biCompression--Member verwendet, seine biHeight- als positive Zahl ausdrücken, unabhängig von seiner Ausrichtung, da die FOURCC- selbst ein Komprimierungsschema identifiziert, dessen Bildausrichtung durch jeden kompatiblen Filter verstanden werden sollte.
Verwandte Themen