調色盤動畫
[與此頁面相關聯的功能,DrawDib是舊版功能。 MediaComposition 類別已取代它。 MediaComposition 類別 已針對 Windows 10 和 Windows 11 優化。 Microsoft強烈建議新程式代碼盡可能使用 MediaComposition 類別,而不是 DrawDib。 Microsoft建議使用舊版 API 的現有程式代碼,盡可能改寫成使用新的 API。]
下列範例會使用 drawDibRealize、DrawDibChangePalette和 DrawDibDraw 函式,以動畫顯示調色盤。
您可以使用 drawDibBegin函式搭配DrawDibChangePalette,來變更位圖的色彩。 首先,若要允許調色盤變更,請在呼叫 DrawDibBegin中指定DDF_ANIMATE旗標。 其次,使用 DrawDibChangePalette,從色板條目設定色彩表值。
例如,如果 lppe 是包含新色彩 PALETTEENTRY 陣列的位址,而 lpbi 是 DrawDibBegin 或 DrawDibDraw中使用的 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);
相關主題