다음을 통해 공유


XLATEOBJ 구조체(winddi.h)

XLATEOBJ 구조체는 색상표에서 다른 색상표로 색 인덱스를 변환하는 데 사용됩니다.

구문

typedef struct _XLATEOBJ {
  ULONG  iUniq;
  FLONG  flXlate;
  USHORT iSrcType;
  USHORT iDstType;
  ULONG  cEntries;
  ULONG  *pulXlate;
} XLATEOBJ;

멤버

iUniq

드라이버가 이전에 캐시한 XLATEOBJ 구조를 인식할 수 있도록 하는 캐시 식별자입니다. 이 멤버가 0이면 드라이버가 XLATEOBJ 구조를 캐시해서는 안 됩니다.

flXlate

번역에 대한 힌트를 지정하는 플래그입니다. 이 멤버는 다음 값의 조합일 수 있습니다.

의미
XO_DEVICE_ICM ICM은 디바이스에서 사용하도록 설정됩니다. 드라이버는 DrvIcmCreateColorTransform에서 만든 색 변환에 따라 색을 변환해야 합니다. 드라이버는 XLATEOBJ_hGetColorTransform 호출하여 색 변환 핸들을 가져와야 합니다. 이 비트는 XO_HOST_ICM 함께 사용할 수 없습니다.
XO_FROM_CMYK ICM 변환의 결과로 원본 인덱스는 32비트 CMYK 색 형식으로 변환됩니다. 이 비트를 설정하면 iSrcType, iDstType, cEntriespulXlate 를 무시해야 합니다.
XO_HOST_ICM ICM은 그래픽 엔진에서 수행되므로 이 색 테이블의 색이 대상 표면으로 수정됩니다. 이 비트는 드라이버에 대한 정보로 GDI에 의해 설정됩니다. 드라이버에서 아무 작업도 필요하지 않습니다. 이 비트는 XO_DEVICE_ICM 함께 사용할 수 없습니다.
XO_TABLE 원본 인덱스를 대상 인덱스로 변환하기 위한 테이블이 제공됩니다.
XO_TO_MONO 원본 인덱스는 1을 제외하고 모든 인덱스가 0으로 매핑되는 특수 속성을 사용하여 단색 형식으로 변환됩니다. 드라이버는 이를 사용하여 블록 전송을 가속화할 수 있습니다.
XO_TRIVIAL 원본 인덱스는 대상 인덱스로 사용할 수 있습니다.

iSrcType

사용되지 않습니다. XLATEOBJ_cGetPalette 사용하여 원본 형식을 쿼리합니다.

iDstType

사용되지 않습니다. XLATEOBJ_cGetPalette 사용하여 대상 형식을 쿼리합니다.

cEntries

pulXlate 멤버가 가리키는 배열의 항목 수를 지정합니다. 값이 cEntries보다 큰 pulXlate로 인덱싱하면 메모리 액세스 위반이 발생합니다.

pulXlate

번역 항목 배열에 대한 포인터입니다.

설명

대상 팔레트는 항상 일부 그리기 작업의 대상 화면에 속합니다. 원본 팔레트는 애플리케이션에서 선택한 색상표 또는 다른 표면의 색상표입니다.

XLATEOBJ 구조체는 원본 팔레트를 참조하는 색 인덱스를 대상 팔레트의 인덱스로 변환하는 데 사용됩니다. 결과 인덱스는 소스 색과 가능한 한 가깝게 일치하는 색을 식별합니다.

요구 사항

요구 사항
헤더 winddi.h(Winddi.h 포함)

추가 정보

DrvIcmCreateColorTransform

XLATEOBJ_cGetPalette

XLATEOBJ_hGetColorTransform

XLATEOBJ_piVector