다음을 통해 공유


기본 색상표

기본 색상표 기본적으로 디바이스 컨텍스트에서 사용할 수 있는 색을 식별하는 색 값 배열입니다. 시스템은 애플리케이션이 색상표를 지원하는 디바이스에 대한 컨텍스트를 만들 때마다 기본 색상표를 컨텍스트와 연결합니다. 기본 색상표는 추가 작업 없이 애플리케이션에서 색을 사용할 수 있도록 합니다.

기본 색상표에는 일반적으로 20개의 항목(색)이 있지만 정확한 항목 수는 디바이스마다 다를 수 있습니다. 이 숫자는 GetDeviceCaps 함수에서 반환된 NUMCOLORS 값과 같습니다. 애플리케이션은 비팔레트 디바이스에서 사용할 수 있는 색을 검색하는 데 사용되는 것과 동일한 기술인 단색 펜을 열거하여 기본 색상표의 색 값을 검색할 수 있습니다. 기본 색상표의 색은 디바이스에 따라 달라집니다. 예를 들어 디스플레이 디바이스는 종종 VGA 디스플레이의 16가지 표준 색과 Windows에서 정의한 4가지 다른 색을 사용합니다. 인쇄 장치는 다른 기본 색을 사용할 수 있습니다.

기본 색상표를 사용하는 경우 애플리케이션은 색 값을 사용하여 펜과 텍스트 색을 지정합니다. 요청된 색이 색상표에 없는 경우 시스템은 색상표에서 가장 가까운 색을 사용하여 색의 근사값을 계산합니다. 애플리케이션이 색상표에 없는 단색 브러시 색을 요청하는 경우 시스템은 색상표에 있는 색으로 디더링하여 색을 시뮬레이션합니다.

근사치 및 디더링을 방지하기 위해 애플리케이션은 색 값이 아닌 색상표 인덱스를 사용하여 펜, 브러시 및 텍스트 색을 지정할 수도 있습니다. 색상표 인덱스는 특정 색상표 항목을 식별하는 정수 값입니다. 애플리케이션은 색 값 대신 색상표 인덱스를 사용할 수 있지만 PALETTEINDEX 매크로를 사용하여 인덱스를 만들어야 합니다.

색상표 인덱스는 색상표를 지원하는 디바이스에만 유용합니다. 이 디바이스 의존을 방지하려면 동일한 코드를 사용하여 색상표와 비팔레트 디바이스 모두에 그리는 애플리케이션은 색상표 상대 색 값을 사용하여 펜, 브러시 및 텍스트 색을 지정해야 합니다. 이러한 값은 단색 브러시를 만들 때를 제외하고 색 값과 동일합니다. (색상표 디바이스에서 색상표 상대 색 값으로 지정된 단색 브러시 색은 디더링 대신 색 근사값이 적용됩니다.) 애플리케이션은 색상표 상대 색 값을 만들려면 PALETTERGB 매크로를 사용해야 합니다.

시스템에서는 애플리케이션이 기본 팔레트의 항목을 변경할 수 없습니다. 기본 색상표 이외의 색을 사용하려면 애플리케이션이 자체 논리 팔레트를 만들고 디바이스 컨텍스트로 색상표를 선택해야 합니다.