Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
[Funkcja skojarzona z tą stroną, DrawDib, jest starszą funkcją. Został zastąpiony przez klasę MediaComposition. klasy MediaComposition została zoptymalizowana pod kątem systemów Windows 10 i Windows 11. Firma Microsoft zdecydowanie zaleca, aby nowy kod używał klasy MediaComposition zamiast DrawDib, jeśli jest to możliwe. Firma Microsoft sugeruje, że istniejący kod, który używa starszych interfejsów API, należy przepisać go do korzystania z nowych interfejsów API, jeśli to możliwe.]
Poniższy przykład animuje paletę przy użyciu funkcji DrawDibRealize, DrawDibChangePalettei DrawDibDraw.
Kolory mapy bitowej można zmienić przy użyciu funkcji DrawDibBegin w połączeniu z DrawDibChangePalette. Aby najpierw zezwolić na zmiany palety, określ flagę DDF_ANIMATE w wywołaniu DrawDibBegin. Następnie ustaw wartości tabeli kolorów z pozycji palety przy użyciu DrawDibChangePalette.
Jeśli na przykład lppe jest adresem tablicy PALETTEENTRY zawierającej nowe kolory, a lpbi to struktura BITMAPINFOHEADER stosowana w DrawDibBegin lub DrawDibDraw, poniższy fragment aktualizuje tabelę kolorów 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);
Tematy pokrewne