Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
[Das dieser Seite zugeordnete Feature DrawDib ist ein Legacyfeature. Sie wurde durch die MediaComposition-Klasse abgelöst. Die MediaComposition-Klasse wurde für Windows 10 und Windows 11 optimiert. Microsoft empfiehlt dringend, dass neuer Code nach Möglichkeit die MediaComposition-Klasse anstelle von DrawDib verwendet. Microsoft schlägt vor, dass vorhandener Code, der die Legacy-APIs verwendet, so umgeschrieben wird, dass nach Möglichkeit die neuen APIs verwendet werden.]
Im folgenden Beispiel wird eine Palette mithilfe der Funktionen DrawDibRealize, DrawDibChangePalette und DrawDibDraw animiert .
Sie können die Farben einer Bitmap ändern, indem Sie die DrawDibBegin-Funktion in Kombination mit DrawDibChangePalette verwenden. Geben Sie zunächst das flag DDF_ANIMATE im Aufruf von DrawDibBegin an, um Palettenänderungen zuzulassen. Legen Sie anschließend die Farbtabellenwerte aus den Paletteneinträgen mithilfe von DrawDibChangePalette fest.
Wenn beispielsweise lppe eine Adresse des PALETTEENTRY-Arrays ist, das die neuen Farben enthält, und lpbi die BITMAPINFOHEADER-Struktur ist, die in DrawDibBegin oder DrawDibDraw verwendet wird, aktualisiert das folgende Fragment die DIB-Farbtabelle.
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);
Zugehörige Themen