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


Структура 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_
 
БИЗНЕС
GRAPHIC Насыщенность Поддерживать насыщенность. Используется для бизнес-диаграмм и других ситуаций, в которых требуются неясные цвета.
LCS_GM_
 
ГРАФИКА
Подтверждение Относительная колориметрика Поддерживайте соответствие цветоиметрии. Используется для графических макетов и именованных цветов.
LCS_GM_
 
ОБРАЗЫ
Picture Восприятия Сохраняйте контрастность. Используется для фотографий и естественных изображений.

lcsEndpoints

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

lcsGammaRed

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

lcsGammaGreen

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

lcsGammaBlue

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

lcsFilename[MAX_PATH]

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

Комментарии

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

Если для элемента 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 требуется следующий формат:

00000000nnnnnnnnnnffffffffff000000000

Всякий раз, когда элемент 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 или Юникод этой функции на основе определения константы препроцессора UNICODE. Сочетание использования псевдонима, не зависящий от кодировки, с кодом, не зависящим от кодировки, может привести к несоответствиям, которые приводят к ошибкам компиляции или среды выполнения. Дополнительные сведения см. в разделе Соглашения для прототипов функций.

Требования

Требование Значение
Минимальная версия клиента Windows 2000 Professional [только классические приложения]
Минимальная версия сервера Windows 2000 Server [только классические приложения]
Верхняя часть wingdi.h

См. также раздел

BITMAPV4HEADER

BITMAPV5HEADER

CMYK

RGB