Структура 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 |