팔레트

DrawDib 함수를 사용하려면 애플리케이션이 WM_QUERYNEWPALETTE 및 WM_PALETTECHANGED 두 개의 팔레트 지향 메시지에 응답해야 합니다. 애플리케이션이 색상표를 인식하지 못하는 경우 이러한 각 메시지에 대한 처리기를 추가해야 합니다. WM_QUERYNEWPALETTEWM_PALETTECHANGED 메시지 처리에 대한 자세한 내용은 색상표 메시지 처리기 추가를 참조하세요.

DrawDibRealize 함수를 사용하여 DC에 대한 현재 DrawDib 팔레트를 실현할 수 있습니다. WM_QUERYNEWPALETTE 또는 WM_PALETTECHANGED 메시지에 대한 응답으로 또는 DrawDibDraw 함수를 사용하여 이미지 시퀀스를 표시할 준비를 할 때 팔레트를 인식해야 합니다.

DrawDibSetPalette 함수를 사용하여 다른 팔레트에 매핑된 이미지를 그릴 수 있습니다. 이 함수는 DrawDib DC가 이미지 품질에 영향을 줄 수 있는 지정된 팔레트를 사용하도록 강제합니다. 예를 들어 색상표를 인식하는 애플리케이션은 색상표를 실현하고 DrawDib가 자체 색상표를 실현하지 못하도록 해야 할 수 있습니다. 애플리케이션은 DrawDibSetPalette 를 사용하여 DrawDib에 사용할 색상표를 알릴 수 있습니다.

DrawDibGetPalette 함수를 사용하여 현재 전경 팔레트의 핸들을 가져올 수 있습니다. 애플리케이션이 현재 전경 팔레트를 사용하는 경우 색상표를 단독으로 사용하지 않으며 다른 애플리케이션이 색상표 핸들을 무효화할 수 있습니다. 애플리케이션 사용을 완료할 때 색상표를 해제하면 안 됩니다. 팔레트를 해제하면 다른 애플리케이션에 대한 색상표 핸들이 무효화됩니다.

DrawDibChangePalette 함수를 사용하여 색상표에 대한 새 색 값을 받도록 DrawDib를 준비할 수 있습니다. DrawDibChangePalette 다음 코드에서 색상표 색 테이블에 대한 새 값을 할당합니다. DrawDibChangePalette를 호출할 때 DrawDib DC에서 DDF_ANIMATE 플래그가 설정되지 않은 경우 DrawDibRealize를 사용하여 색상표를 구현하여 색상표 변경을 적용할 수 있습니다. 그런 다음 DrawDibDraw 를 사용하여 이미지를 다시 그릴 수 있습니다. DDF_ANIMATE 플래그가 DrawDib DC에 설정된 경우 DrawDibDraw 또는 DrawDibRealize를 사용하여 표시된 비트맵의 색상표와 색에 애니메이션 효과를 적용할 수 있습니다. DrawDibEndDrawDibBegin 함수를 사용하여 DDF_ANIMATE 플래그를 업데이트할 수 있습니다.

참고

DC에서 그리기 팔레트를 선택하는 동안 DrawDib 팔레트를 해제하면 DC에서 색상표를 사용할 때 GDI(그래픽 디바이스 인터페이스) 오류가 발생할 수 있습니다. 대신 애플리케이션에서 DrawDibSetPalette를 사용하여 DrawDib DC를 변경하여 기본 색상표 또는 다른 팔레트를 사용해야 합니다.

 

DrawDibEnd, DrawDibCloseDrawDibBegin 함수는 DrawDib 팔레트를 해제할 수 있습니다. 그러나 이러한 함수는 DC에서 색상표를 선택하지 않은 경우에만 사용해야 합니다. DrawDibDraw 함수는 동일한 DrawDib DC를 사용할 때 팔레트를 해제할 수도 있지만 다른 그리기 매개 변수(lpbi, dxDst, dyDst, dxSrc 또는 dySrc) 또는 다른 형식을 지정합니다.

이미지 렌더링