다음을 통해 공유


HT_Get8BPPMaskPalette 함수(winddi.h)

HT_Get8BPPMaskPalette 함수는 픽셀당 8비트 디바이스 유형에 대한 마스크 팔레트를 반환합니다.

구문

LONG HT_Get8BPPMaskPalette(
  [in, out] LPPALETTEENTRY pPaletteEntry,
  [in]      BOOL           Use8BPPMaskPal,
  [in]      BYTE           CMYMask,
  [in]      USHORT         RedGamma,
  [in]      USHORT         GreenGamma,
  [in]      USHORT         BlueGamma
);

매개 변수

[in, out] pPaletteEntry

채울 PALETTEENTRY 구조체 배열(Windows SDK 설명서에 설명됨)에 대한 포인터입니다. GDI는 GDI가 픽셀당 전체 8비트 하프톤 팔레트를 배치할 수 있는 유효한 메모리 공간을 가리킨다고 가정합니다.

Windows XP 이상 운영 체제 버전에서 실행되는 드라이버의 경우 GDI는 pPaletteEntry[0]를 검사하여 구성된 CMY 팔레트를 반환하는 방법을 결정합니다. pPaletteEntry[0]이 'RGB0'으로 설정된 경우 색상표는 CMY_INVERTED 모드 중 하나에 있고 해당 인덱스가 반전됩니다. 즉, 색상표의 인덱스 0은 검은색이고 인덱스 255는 흰색입니다. pPaletteEntry[0]가 'RGB0'으로 설정되지 않은 경우 색상표는 일반 CMY 색상표이며 인덱스 0은 흰색이고 인덱스 255는 검은색입니다. 새 요구 사항 및 이 매개 변수를 사용하는 방법에 대한 자세한 내용은 GDI 8비트 픽셀당 CMY 마스크 모드 사용을 참조하세요.

Windows 2000은 드라이버가 pPaletteEntry[0]에 배치하는 모든 값을 무시합니다. 이러한 이유로 드라이버가 Windows 2000 이상 버전에서 실행되고 드라이버가 pPaletteEntry[0]를 'RGB0'으로 설정하는 경우 드라이버가 Windows XP에서 수신한 비트맵과 나중에 Windows 2000에서 받은 비트맵의 색이 반전될 수 있습니다. 따라서 이러한 드라이버는 비트맵을 다운로드하기 전에 팔레트를 검사해야 합니다.

[in] Use8BPPMaskPal

반환해야 하는 색상표 유형을 나타냅니다. Use8BPPMaskPalTRUE이면 HT_Get8BPPMaskPaletteCMYMask에 지정된 비트 마스크에서 설명하는 CMY 팔레트(PALETTEENTRY 구조의 배열)의 주소로 pPaletteEntry 매개 변수를 설정합니다. Use8BPPMaskPalFALSE이면 함수는 pPaletteEntry를 표준 RGB 8비트 픽셀당 하프톤 팔레트의 주소로 설정합니다.

[in] CMYMask

pPaletteEntry가 가리키는 PALETTEENTRY 구조체의 배열에 대한 정보를 지정합니다. 이 매개 변수는 다음 값 중 하나를 가질 수 있습니다.

의미
0 256개 수준의 회색 눈금
1 총 125가지 색상에 대해 시안, 마젠타, 노랑(각각 0에서 4까지) 수준 5개
2 총 216가지 색상에 대해 시안, 마젠타, 노랑(각각 0에서 5까지)의 6개 수준
3-255 각각 시안, 마젠타 및 노란색의 최대 수준 수를 지정하는 비트 마스크입니다.
 

Windows 2000에서 실행되는 드라이버는 픽셀당 8비트 흑백으로 제한해야 합니다. 즉, 사용된 CMYMask 값은 0이어야 합니다.

Windows XP 이상 운영 체제 버전 및 CMYMask의 모든 값에 대해 pPaletteEntry[0]의 값에 따라 pPaletteEntry[0] 뒤에 나오는 색상표가 일반 CMY 색상표인지 아니면 CMY_INVERTED 모드 팔레트 중 하나인지를 결정합니다. 자세한 내용은 pPaletteEntry 매개 변수에 대한 설명을 참조하세요.

3에서 255 사이의 CMYMask 값(포함)의 경우 값은 비트 그룹에 다음과 같은 의미가 있는 비트 마스크입니다.

  • 세 개의 가장 높은 비트(비트 7,6,5)는 시안 수준 수를 지정합니다. 최대 7개의 시안 수준(수준 1~7)이 가능합니다.
  • 중간 3비트(비트 4,3,2)는 마젠타 수준 수를 지정합니다. 최대 7개 수준의 마젠타(수준 1~7)가 가능합니다.
  • 가장 낮은 두 비트(비트 1,0)는 노란색 수준의 수를 지정합니다. 최대 세 가지 수준의 노란색(수준 1~3)이 가능합니다.
3에서 255 사이의 CMYMask 값의 경우 시안, 마젠타 또는 노란색 수준 비트가 0인 비트 마스크 조합은 유효하지 않습니다. 이러한 경우 HT_Get8BPPMaskPalette 색상표 수를 0으로 반환합니다. 자세한 내용은 GDI 8비트 픽셀당 CMY 마스크 모드 사용을 참조하세요 .

[in] RedGamma

Use8BPPMaskPalTRUE이면 이 매개 변수의 값이 사용되지 않습니다. 이 경우 감마 값은 GDIINFO 구조체의 ciDevice 멤버에 지정됩니다.

Use8BPPMaskPalFALSE이면 이 매개 변수의 값은 GDI가 색상표를 감마 수정하는 데 사용하는 빨간색, 녹색 및 파란색 감마 값에서 빨간색 감마 값을 지정합니다. USHORT 값은 소수점 오른쪽에 있는 4개의 최소 자릿수가 있는 실제 숫자로 해석됩니다. 예를 들어 감마 값 10000은 실수 1.0000을 나타내고 12345는 1.2345를 나타냅니다. 허용되는 최소 감마 값은 0.0000이고 최대 허용 값은 6.5535입니다.

[in] GreenGamma

Use8BPPMaskPalTRUE이면 이 매개 변수의 값이 사용되지 않습니다. 이 경우 감마 값은 GDIINFO 구조체의 ciDevice 멤버에 지정됩니다.

Use8BPPMaskPalFALSE인 경우 이 매개 변수의 값은 GDI가 색상표를 감마 수정하는 데 사용하는 빨간색, 녹색 및 파란색 감마 값 중에서 녹색 감마 값을 지정합니다. USHORT 값은 소수점 오른쪽에 있는 4개의 최소 자릿수가 있는 실제 숫자로 해석됩니다. 예를 들어 감마 값 10000은 실수 1.0000을 나타내고 12345는 1.2345를 나타냅니다. 허용되는 최소 감마 값은 0.0000이고 최대 허용 값은 6.5535입니다.

[in] BlueGamma

Use8BPPMaskPalTRUE이면 이 매개 변수의 값이 사용되지 않습니다. 이 경우 감마 값은 GDIINFO 구조체의 ciDevice 멤버에 지정됩니다.

Use8BPPMaskPalFALSE이면 이 매개 변수의 값은 GDI가 색상표를 감마 수정하는 데 사용하는 빨간색, 녹색 및 파란색 감마 값 중에서 파란색 감마 값을 지정합니다. USHORT 값은 소수점 오른쪽에 있는 4개의 최소 자릿수가 있는 실제 숫자로 해석됩니다. 예를 들어 감마 값 10000은 실수 1.0000을 나타내고 12345는 1.2345를 나타냅니다. 허용되는 최소 감마 값은 0.0000이고 최대 허용 값은 6.5535입니다.

반환 값

pPaletteEntryNULL이 아닌 경우 HT_Get8BPPMaskPalette gDI가 pPaletteEntry가 가리키는 배열에 입력한 PALETTEENTRY 구조체의 수를 반환합니다. pPaletteEntryNULL인 경우 반환되는 값은 하프톤 팔레트를 저장하는 데 필요한 PALETTEENTRY 구조체의 총 개수입니다.

이 함수에 대한 호출에서 CMYMask 매개 변수의 잘못된 값이 사용되는 경우 HT_Get8BPPMaskPalette 값이 0을 반환합니다.

설명

PALETTEENTRY 구조체는 Windows SDK 설명서에 설명되어 있습니다.

Use8BPPMaskPalFALSE로 설정된 HT_Get8BPPMaskPalette 호출하는 것은 HT_Get8BPPFormatPalette 호출하는 것과 같습니다.

이 함수 및 해당 매개 변수 사용 방법에 대한 자세한 내용은 GDI 8비트 픽셀당 CMY 마스크 모드 사용을 참조하세요.

요구 사항

   
지원되는 최소 클라이언트 Windows 2000 이상 버전의 Windows 운영 체제에서 사용할 수 있습니다.
대상 플랫폼 유니버설
헤더 winddi.h(Winddi.h 포함)
라이브러리 Win32k.lib
DLL Win32k.sys

추가 정보

HT_Get8BPPFormatPalette