共用方式為


關於 DrawDib 函式

[與此頁面相關聯的功能,DrawDib是舊版功能。 MediaComposition 類別已取代它。 MediaComposition 類別 已針對 Windows 10 和 Windows 11 優化。 Microsoft強烈建議新程式代碼盡可能使用 MediaComposition 類別,而不是 DrawDib。 Microsoft建議使用舊版 API 的現有程式代碼,盡可能改寫成使用新的 API。]

總的說來,DrawDib 函式類似於 StretchDIBits 函式,因為它們提供影像縮放和抖動功能。 不過,DrawDib 函式支援影像解壓縮、數據串流和較多的顯示配接器。

在某些情況下,您會發現使用 DrawDib 函式會很有幫助。 不過,StretchDIBits 比 DrawDib 函式更多樣化,而且當 DrawDib 函式無法提供所需的功能時,應該使用。 下列清單描述決定要使用 DrawDib 函式或 StretchDIBits時要考慮的因素。

  • 色彩表格資訊格式。 DrawDib 函式會顯示影像,這些影像會使用 DIB_RGB_COLORS 格式作為其色彩表格。 如果您的應用程式色彩表資訊中具有 DIB_PAL_COLORSDIB_PAL_INDICES 格式的影像,您必須使用 StretchDIBits 來顯示它們。

  • 傳輸模式。 DrawDib 函式需要您的應用程式使用 SRCCOPY 傳輸模式。 如果您的應用程式使用 StretchDIBits 搭配 SRCCOPY以外的傳輸模式,您應該繼續使用 StretchDIBits。 同樣地,如果您需要在應用程式中使用其他點陣作業,例如 XOR,請使用 StretchDIBits

  • 影片和動畫播放的品質。 您可以將 DrawDib 函式用於資料串流應用程式,例如播放視訊剪輯和動畫序列的函式。 DrawDib 函式優於 StretchDIBits ,因為它們提供更高品質的影像,並在播放期間提升動態表現。

  • 顯示配接器。 DrawDib 函式支援比 StretchDIBits 支援的顯示配接器數目還要多。 DrawDib 函式支援使用 4 位影像深度提供 16 色盤的 VGA 色彩配接器、使用 8 位影像深度提供 256 色盤的 SVGA 配接器,以及使用 16 位、24 位和 32 位影像深度提供數千種色彩的色彩顯示適配卡。

    DrawDib 函式也會改善在功能較有限的顯示卡上顯示影像的速度和品質。 例如,使用8位顯示卡時,DrawDib 函式會有效地將真色圖像抖動至256種色彩。 當使用 4 位元顯示配接器時,它們也會對 8 位元影像進行抖動處理。

  • 影像拉伸。 如同 StretchDIBits,DrawDib 函式會使用來源和目的地矩形來控制所顯示影像的部分。 您可以裁剪不想要的影像部分,或藉由改變來源和目的地矩形的位置和大小來延展影像。 如果顯示驅動程式不支援影像延展,DrawDib 函式會提供比 StretchDIBits更有效率的延展功能。

  • 壓縮的影像。 DrawDib 函數會繪製任何具有解壓縮器的格式,包括運行長度編碼 (RLE)、Cinepak 和 411 YUV。 Windows 包含可選擇性安裝的 RLE 和 Cinepak 解壓縮程式。

  • Windows 不再支援 Indeo 編解碼器。

DrawDib