다음을 통해 공유


HT_ComputeRGBGammaTable 함수(winddi.h)

HT_ComputeRGBGammaTable 함수를 사용하면 GDI가 감마 번호에 따라 디바이스 빨간색, 녹색 및 파란색 강도를 계산합니다.

구문

LONG HT_ComputeRGBGammaTable(
  [in]  USHORT GammaTableEntries,
  [in]  USHORT GammaTableType,
  [in]  USHORT RedGamma,
  [in]  USHORT GreenGamma,
  [in]  USHORT BlueGamma,
  [out] LPBYTE pGammaTable
);

매개 변수

[in] GammaTableEntries

각 빨강, 녹색 및 파랑 강도에 대한 테이블의 총 단계 수를 지정합니다. 이 값은 1보다 크고 256보다 작거나 같아야 합니다(즉, 2 <= GammaTableEntries<= 256). 예를 들어 값이 256이면 감마 테이블에 256개의 빨간색 항목, 256개의 녹색 항목 및 256개의 파란색 항목이 있습니다.

[in] GammaTableType

pGammaTable의 organization 지정합니다. 유효한 테이블 형식은 다음과 같습니다.

GammaTableType 의미
0 감마 테이블의 빨간색, 녹색 및 파란색 값은 함께 인터리브됩니다. 각 감마 단계는 3바이트입니다. 빨강, 녹색 및 파랑의 경우 각각 1 바이트입니다.
1 빨간색, 녹색 및 파란색 테이블은 별도로 압축됩니다. 즉, 전체 빨간색 테이블 뒤에 전체 녹색 테이블이 잇고 그 뒤에 전체 파란색 테이블이 잇습니다. 개별 항목은 각각 1바이트이므로 각 하위 테이블의 길이는 총 GammaTableEntries 바이트입니다.

[in] RedGamma

빨간색 감마 값을 지정합니다. 이 USHORT 값은 4개의 최소 자릿수가 (암시적) 소수점 오른쪽에 있는 실제 숫자로 해석됩니다. 예를 들어 감마 값 10000은 실수 1.0000을 나타내고 12345는 1.2345를 나타냅니다. 허용되는 최소 감마 값은 0.0000이고 최대 허용 값은 6.5535입니다.

[in] GreenGamma

녹색 감마 값을 지정합니다. 이 USHORT 값은 4개의 최소 자릿수가 (암시적) 소수점 오른쪽에 있는 실제 숫자로 해석됩니다. 예를 들어 감마 값 10000은 실수 1.0000을 나타내고 12345는 1.2345를 나타냅니다. 허용되는 최소 감마 값은 0.0000이고 최대 허용 값은 6.5535입니다.

[in] BlueGamma

파란색 감마 값을 지정합니다. 이 USHORT 값은 4개의 최소 자릿수가 (암시적) 소수점 오른쪽에 있는 실제 숫자로 해석됩니다. 예를 들어 감마 값 10000은 실수 1.0000을 나타내고 12345는 1.2345를 나타냅니다. 허용되는 최소 감마 값은 0.0000이고 최대 허용 값은 6.5535입니다.

[out] pGammaTable

감마 테이블의 빨간색, 녹색 및 파란색 강도가 기록될 바이트 배열에 대한 포인터입니다. 반환된 테이블은 GammaTableType 매개 변수에 지정된 대로 구성됩니다.

반환 값

반환 값은 pGammaTable에 기록된 감마 항목의 수입니다. 성공하면 이 값은 GammaTableEntries와 같습니다. GammaTableEntries가 2보다 작거나 256보다 큰 경우 반환 값은 0입니다.

pGammaTable에서 반환된 빨간색, 녹색 및 파란색 강도는 0에서 255까지입니다.

설명

GDI 하프톤 서비스 루틴은 특수 팔레트를 사용하여 하프톤을 수행합니다. 디바이스가 16비트 또는 24비트 형식 표면의 24비트 디바이스 색 풀에서 픽셀당 8비트 팔레트를 선택하는 경우 GDI는 빨간색, 녹색 및 파란색 단계를 가정합니다. 각각은 동일한 밝기를 가합니다.

GDI는 드라이버가 GDI에서 사용하는 픽셀당 8비트 하프톤 팔레트를 쿼리하거나 디바이스에 대해 수정되고 균등화된 RGB 색 강도를 계산할 수 있도록 이 서비스를 제공합니다.

요구 사항

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