製作調色盤的動畫
[與此頁面 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);
相關主題