Поделиться через


Структура LOGCOLORSPACEW (wingdi.h)

Структура LOGCOLORSPACE содержит сведения, определяющие логическое цветовое пространство.

Синтаксис

typedef struct tagLOGCOLORSPACEW {
  DWORD         lcsSignature;
  DWORD         lcsVersion;
  DWORD         lcsSize;
  LCSCSTYPE     lcsCSType;
  LCSGAMUTMATCH lcsIntent;
  CIEXYZTRIPLE  lcsEndpoints;
  DWORD         lcsGammaRed;
  DWORD         lcsGammaGreen;
  DWORD         lcsGammaBlue;
  WCHAR         lcsFilename[MAX_PATH];
} LOGCOLORSPACEW, *LPLOGCOLORSPACEW;

Члены

lcsSignature

Подпись цветового пространства. В настоящее время этот элемент всегда должен иметь значение LCS_SIGNATURE.

lcsVersion

Номер версии; должно быть 0x400.

lcsSize

Размер этой структуры в байтах.

lcsCSType

Тип цветового пространства. Элемент может быть одним из следующих значений.

Ценность Значение
LCS_CALIBRATED_RGB Значения цвета — это калибровка значений RGB. Значения претворяются с помощью конечных точек, указанных элементом lcsEndpoints перед передачей на устройство.
LCS_sRGB Значения цвета — это значения sRGB.
LCS_WINDOWS_COLOR_SPACE Значения цветов — это значения цветового пространства Windows по умолчанию.
 

Если LCS_CALIBRATED_RGB не указан, элемент lcsEndpoints игнорируется.

lcsIntent

Метод сопоставления гаммов. Этот элемент может быть одним из следующих значений.

Ценность Намерение Имя ICC Значение
LCS_GM_ABS_
 
КОЛОРИМЕТРИЧЕСКИЙ
Спичка Абсолютная цветовая метрика Сохраняйте белую точку. Сопоставлять цвета с ближайшим цветом в целевом гамме.
LCS_GM_
 
ДЕЛО
Графический Насыщение Поддерживать насыщенность. Используется для бизнес-диаграмм и других ситуаций, в которых требуются неуверенные цвета.
LCS_GM_
 
ГРАФИКА
Доказательство Относительная цветовая метрика Поддерживать соответствие цветовой метрике. Используется для графических конструкций и именованных цветов.
LCS_GM_
 
ИЗОБРАЖЕНИЯ
Картина Познавательный Сохраняйте контрастность. Используется для фотографий и естественных изображений.

lcsEndpoints

Красные, зеленые, голубые конечные точки.

lcsGammaRed

Масштаб красной координаты.

lcsGammaGreen

Масштаб зеленой координаты.

lcsGammaBlue

Масштаб синей координаты.

lcsFilename[MAX_PATH]

Строка, завершающаяся значением NULL, которая называет файл цветового профиля. Обычно этот элемент имеет значение нулю, но может использоваться для задания цветового пространства точно так же, как указано в профиле цвета. Это полезно для устройств, которые вводят значения цвета для определенного принтера или при использовании устанавливаемого сопоставления цветов изображения. Если задан цветной профиль, все остальные члены этой структуры должны иметь разумные значения, даже если значения не совсем точны.

Замечания

Как и палитры, но в отличие от перьев и кистей, при создании LogColorSpace необходимо передать указатель.

Если для элемента lcs lcsCSType задано значение LCS_sRGB или LCS_WINDOWS_COLOR_SPACE, остальные члены этой структуры игнорируются, а WCS использует цветовое пространство SRGB. Элементы lcsEndpoints,lcsGammaRed, lcsGammaGreen, и lcsGammaBlue используются для описания логического цветового пространства. Элемент lcsEndpoints — это CIEXYZTRIPLE, содержащий значения x, y и z конечной точки RGB цветового пространства.

Требуемый формат бита DWORD для lcsGammaRed, lcsGammaGreen, а lcsGammaBlue — 8,8 фиксированного целого числа влево, смещенного на 8 битов. Это означает, что за 8 целыми битами следует 8 дробей. Учитывая сдвиг бита, требуется формат 32-разрядного DWORD:

0000000nnffffff0000000000

Если элемент lcsFilename содержит имя файла, а элемент lcsCSType имеет значение LCS_CALIBRATED_RGB, WCS игнорирует другие члены этой структуры. Он использует цветовое пространство в файле в качестве цветового пространства, к которому ссылается эта LOGCOLORSPACE структура.

Отношение между значениями три-стимула X,Y,Z и chromaticity x,y,z выглядит следующим образом:

x = X/(X+Y+Z)

y = Y/(X+Y+Z)

z = Z/(X+Y+Z)

Если для элемента lcsCSType задано значение LCS_sRGB или LCS_WINDOWS_COLOR_SPACE, другие члены этой структуры игнорируются, а ICM использует цветовое пространство SRGB. Приложения по-прежнему должны инициализировать остальную часть структуры, так как CreateProfileFromLogColorSpace игнорирует член lcsCSType и использует lcsEndpoints, lcsGammaRed, lcsGammaGreen, lcsGammaBlue для создания профиля, который не может быть инициализирован в случае LCS_sRGB или LCS_WINDOWS_COLOR_SPACE цветовых пространств.

Заметка

Заголовок wingdi.h определяет LOGCOLORSPACE в качестве псевдонима, который автоматически выбирает версию ANSI или Юникод этой функции на основе определения константы препроцессора ЮНИКОДа. Сочетание использования псевдонима, нейтрального для кодирования, с кодом, не зависящим от кодирования, может привести к несоответствиям, которые приводят к ошибкам компиляции или среды выполнения. Дополнительные сведения см. в соглашениях о прототипах функций.

Требования

Требование Ценность
минимальные поддерживаемые клиентские Windows 2000 Профессиональный [только классические приложения]
минимальный поддерживаемый сервер Windows 2000 Server [только классические приложения]
заголовка wingdi.h

См. также

BITMAPV4HEADER

BITMAPV5HEADER

CMYK

RGB