다음을 통해 공유


SHGetInverseCMAP 함수(shlwapi.h)

[이 함수는 Windows XP 및 Windows Server 2003을 통해 사용할 수 있습니다. 이후 버전의 Windows에서는 변경되거나 사용하지 못할 수 있습니다.]

하프톤 팔레트에 대한 역색 테이블 매핑을 검색합니다.

구문

LWSTDAPI SHGetInverseCMAP(
  [out] BYTE  *pbMap,
  [in]  ULONG cbMap
);

매개 변수

[out] pbMap

형식: BYTE*

역 색 테이블 매핑을 수신하는BYTE 배열에 대한 포인터 또는 cbMap 매개 변수의 값에 따라 역 색 테이블 매핑의 캐시된 복사본에 대한 포인터를 수신하는 LPBYTE에 대한 포인터입니다.

[in] cbMap

형식: ULONG

pbMap이 가리키는 버퍼의 크기이며, 해당 내용도 정의합니다. 두 값이 인식됩니다.

(sizeof(BYTE*))

pbMap이 가리키는 버퍼는 역색 맵 테이블의 캐시된 복사본에 대한 포인터를 받습니다.

(32768)

pbMap이 가리키는 버퍼는 역색 맵 테이블의 복사본을 받습니다. 버퍼의 크기는 정확히 32,768바이트여야 합니다.

반환 값

형식: HRESULT

이 함수가 성공하면 S_OK 반환합니다. 그러지 않으면 HRESULT 오류 코드를 반환합니다.

설명

역 색 매핑 테이블은 32,768바이트 테이블입니다. 여기에는 하프톤 색상표의 색 인덱스가 포함되어 있습니다. 각 인덱스는 555 형식으로 표현된 특정 RGB 값에 해당하는 버퍼의 위치에 저장됩니다. 이러한 페어링을 사용하면 원래 색의 근사치인 하프톤 팔레트에서 색을 찾을 수 있습니다.

예를 들어 색 #306040에 대한 근사치인 하프톤 팔레트에서 색을 결정하는 메서드는 다음과 같습니다.

  1. 색을 빨간색, 녹색 및 파란색 구성 요소로 분해합니다. 이 경우 빨간색 구성 요소가 0x30 녹색 구성 요소가 0x60 파란색 구성 요소가 0x40.
  2. 색을 555 형식으로 다시 조립합니다. 24비트 RGB 색을 555 형식으로 줄이기 위한 수식은 여기에 나와 있습니다.
    ((red / 8) << 10) + ((blue / 8) << 5) + (green / 8)
    

    이 예제에서 555 형식의 값은 ((0x30/8) 10) << + ((0x60/8) 5) << + (0x40/8) = 6536입니다.

  3. 역 색 맵 테이블의 위치 6536에 저장된 인덱스 값은 색 #306040에 합당한 근사치인 하프톤 색상표의 색 인덱스입니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows 2000 Professional, Windows XP [데스크톱 앱만 해당]
지원되는 최소 서버 Windows Server 2003 [데스크톱 앱만 해당]
대상 플랫폼 Windows
헤더 shlwapi.h
라이브러리 Shlwapi.lib
DLL Shlwapi.dll(버전 5.0 이상)

추가 정보

CreateHalftonePalette

GetNearestColor