Freigeben über


Informationen zu den DrawDib-Funktionen

[Das dieser Seite zugeordnete Feature DrawDib ist ein Legacyfeature. Sie wurde durch die MediaComposition-Klasse abgelöst. Die MediaComposition-Klasse wurde für Windows 10 und Windows 11 optimiert. Microsoft empfiehlt dringend, dass neuer Code nach Möglichkeit die MediaComposition-Klasse anstelle von DrawDib verwendet. Microsoft schlägt vor, dass vorhandener Code, der die Legacy-APIs verwendet, so umgeschrieben wird, dass nach Möglichkeit die neuen APIs verwendet werden.]

Zusammen sind die DrawDib-Funktionen der StretchDIBits-Funktion insofern ähnlich, als sie Bilddehnungs- und Ditheringfunktionen bereitstellen. Die DrawDib-Funktionen unterstützen jedoch die Bilddekomprimierung, Datenstreaming und eine größere Anzahl von Grafikkarten.

Unter bestimmten Umständen ist es vorteilhaft, die DrawDib-Funktionen zu verwenden. StretchDIBits ist jedoch vielfältiger als die DrawDib-Funktionen und sollte verwendet werden, wenn die DrawDib-Funktionen nicht die gewünschte Funktionalität bereitstellen können. In der folgenden Liste werden die Faktoren beschrieben, die bei der Entscheidung, ob die DrawDib-Funktionen oder StretchDIBits verwendet werden sollen, zu berücksichtigen sind.

  • Farbtabelleninformationsformat. DrawDib-Funktionen zeigen Bilder an, die das DIB_RGB_COLORS-Format für ihre Farbtabelle verwenden. Wenn Bilder in Ihrer Anwendung Farbtabelleninformationen im DIB_PAL_COLORS- oder DIB_PAL_INDICES-Format speichern, müssen Sie StretchDIBits verwenden, um sie anzuzeigen.

  • Übertragungsmodus. DrawDib-Funktionen erfordern, dass Ihre Anwendung den SRCCOPY-Übertragungsmodus verwendet. Wenn Ihre Anwendung StretchDIBits mit einem anderen Übertragungsmodus als SRCCOPY verwendet, sollten Sie Weiterhin StretchDIBits verwenden. Wenn Sie andere Rastervorgänge in Ihrer Anwendung verwenden müssen, z. B. einen XOR, verwenden Sie StretchDIBits.

  • Qualität der Video- und Animationswiedergabe. Sie können die DrawDib-Funktionen für Datenstreaminganwendungen verwenden, z. B. für Die Wiedergabe von Videoclips und animierten Sequenzen. Die DrawDib-Funktionen übertreffen StretchDIBits , da sie Bilder mit höherer Qualität liefern und die Bewegung während der Wiedergabe verbessern.

  • Grafikkarten. DrawDib-Funktionen unterstützen eine größere Anzahl von Grafikkarten als StretchDIBits unterstützt. Die DrawDib-Funktionen unterstützen VGA-Farbadapter, die 16-Farbpaletten mit 4-Bit-Bildtiefe bereitstellen, SVGA-Adapter, die 256-Farbpaletten mit 8-Bit-Bildtiefe bereitstellen, und True-Color-Anzeigeadapter, die Tausende von Farben mit 16-Bit-, 24-Bit- und 32-Bit-Bildtiefe bereitstellen.

    Die DrawDib-Funktionen verbessern auch die Geschwindigkeit und Qualität der Anzeige von Bildern auf Grafikkarten mit eingeschränkteren Funktionen. Wenn Sie beispielsweise einen 8-Bit-Grafikkarte verwenden, können die DrawDib-Funktionen true-color-Bilder effizient auf 256 Farben umstellen. Sie enthalten auch 8-Bit-Bilder, wenn 4-Bit-Grafikkarten verwendet werden.

  • Bilddehnung. Wie StretchDIBits verwenden die DrawDib-Funktionen Quell- und Zielrechtecke, um den angezeigten Teil eines Bilds zu steuern. Sie können unerwünschte Teile eines Bilds zuschneiden oder ein Bild strecken, indem Sie die Position und Größe der Quell- und Zielrechtecke ändern. Wenn ein Anzeigetreiber keine Bilddehnung unterstützt, bieten die DrawDib-Funktionen effizientere Stretchfunktionen als StretchDIBits.

  • Komprimierte Bilder. Die DrawDib-Funktionen zeichnen jedes Format, für das Sie über einen Dekomprimierungs-Dekomprimierung verfügen, einschließlich Run-Length Encoding (RLE), Cinepak und 411 YUV. Windows enthält RLE- und Cinepak-Dekompressoren, die optional installiert werden können.

  • Der Indeo-Codec wird in Windows nicht mehr unterstützt.

DrawDib