共用方式為


調色盤動畫

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

下列範例會使用 drawDibRealizeDrawDibChangePaletteDrawDibDraw 函式,以動畫顯示調色盤。

您可以使用 drawDibBegin函式搭配DrawDibChangePalette,來變更位圖的色彩。 首先,若要允許調色盤變更,請在呼叫 DrawDibBegin中指定DDF_ANIMATE旗標。 其次,使用 DrawDibChangePalette,從色板條目設定色彩表值。

例如,如果 lppe 是包含新色彩 PALETTEENTRY 陣列的位址,而 lpbiDrawDibBeginDrawDibDraw中使用的 BITMAPINFOHEADER 結構,下列片段會更新 DIB 色彩數據表。

hdc = GetDC(hwnd); 
DrawDibBegin(hdd, ....., DDF_ANIMATE); 
DrawDibRealize(hdd, hdc, fBackground); 
DrawDibDraw(hdd, hdc, ...., DDF_SAME_DRAW|DDF_SAME_HDC); 
 
// Call to change color. 
DrawDibChangePalette(hDD, iStart, iLen, lppe); 
. 
. 
. 
ReleaseDC(hwnd, hdc); 

使用 DrawDib