Animazione di una tavolozza
Nell'esempio seguente viene animata una tavolozza usando le funzioni DrawDibRealize, DrawDibChangePalette e DrawDibDraw.
È possibile modificare i colori di una bitmap usando la funzione DrawDibBegin in combinazione con DrawDibChangePalette. Prima di tutto, per consentire le modifiche del tavolozza, specificare il flag DDF_ANIMATE nella chiamata a DrawDibBegin. In secondo luogo, impostare i valori della tabella dei colori dalle voci della tavolozza usando DrawDibChangePalette.
Ad esempio, se lppe è un indirizzo della matrice PALETTEENTRY contenente i nuovi colori e lpbi è la struttura BITMAPINFOHEADER usata in DrawDibBegin o DrawDibDraw, il frammento seguente aggiorna la tabella dei colori 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);
Argomenti correlati