팔레트에 애니메이션 효과를 주는 중
[이 페이지와 연결된 기능인 DrawDib는 레거시 기능입니다. MediaComposition 클래스로 대체되었습니다. MediaComposition 클래스는 Windows 10 및 Windows 11 최적화되었습니다. 가능한 경우 새 코드에서 DrawDib 대신 MediaComposition 클래스를 사용하는 것이 좋습니다. 가능한 경우 레거시 API를 사용하는 기존 코드를 다시 작성하여 새 API를 사용하도록 제안합니다.]
다음 예제에서는 DrawDibRealize, DrawDibChangePalette 및 DrawDibDraw 함수를 사용하여 팔레트에 애니메이션 효과를 줍니다.
DrawDibChangePalette와 함께 DrawDibBegin 함수를 사용하여 비트맵의 색을 변경할 수 있습니다. 먼저 색상표 변경을 허용하려면 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);
관련 항목