Палитры и согласование цветов, страница 5

IpResult

LPVOID. Указатель на массив байтов, который принимает результаты проверки цветов. Этот массив должен иметь такое же число элементов, как и массив, указанный параметром IpRGBTriples.

n Count

UINT. Число элементов в массиве, указанном параметром IpRGBTriples.

Возвращаемое значение

BOOL. В случае успешного выполнения — TRUE; в ином случае — FALSE.

Включаемый файл

wingdi.h

См. также

SetlCMMode

Определение RGBTRIPLE

typedef struct tag RGBHUKU {

BYTE rgbtBlue ;

BYTE rgbtGreen ;

BYTE rgbtRed; }   RGBTRIPLE;

Члены

rgbtBlue

BYTE. Интенсивность компонента синего цвета.

rgbtGreen

BYTE. Интенсивность компонента зеленого цвета.

rgbtRed

BYTE. Интенсивность компонента красного цвета.

Пример

В следующем примере (рис.  16.1) показано использование функции CheckColorsInGamut для того, чтобы определить, поддерживаются ли цвета принтером типа "HP DeskJet 895Cxi". Результаты проверки отображаются, когда пользователь выбирает пункт меню Test!.

Chu- \loaij.-aources\chapl6\16-02.txt

РисунциИЛ Пример применения функции CheckColorsInGamut

ColorCorrectPalette                   Windows 98   • Windows 2000

Описание

Функция ColorCorrectPalette корректирует элемент в палитре с помощью параметров ICM в указанном контексте устройства.

Синтаксис

BOOL ColorCorrectPalette( HDC hdc, HPALETTE HPalette, DWORD dwFirstEntry, DWORD dwNumOfEntries)

Параметры

hdc

HDC. Контекст устройства, параметры ICM которого используются для проверки.

HPalette

HPALETTE. Дескриптор палитры, для которой выполняется цветокоррекция.

dwFirstEntry

DWORD. Элемент в палитре, в котором выполняется цветокоррекция.

dwNumOfEntries

DWORD. Число элементов, в которых должна быть выполнена цветокоррекция.

Возвращаемое значение

BOOL. В случае успешного выполнения — TRUE; в ином случае — FALSE.

Включаемый файл

wingdi.h

См. также

CreatePalette

ColorMatchToTarget                   Windows 98   • Windows 2000

Описание

Функция ColorMatchToTarget разрешает или запрещает предварительный просмотр согласования цветов для контекста устройства. Если предварительный просмотр разрешен, цвета перед последующим выводом в указанный контекст устройства отображаются так, как они будут выглядеть в целевом контексте устройства. Для обеспечения предварительного просмотра согласования цветов необходимо разрешить согласование цветов изображения и для контекста устройства назначения, и для контекста устройства предварительного просмотра.

Синтаксис

BOOL ColorMatchToTarget( HDC hdc, HDC hdcTarget, DWORD dwAction )

Параметры

hdc

HDC. Контекст устройства, применяемого для предварительного просмотра; обычно это дисплей.

hdcTarget

HDC. Контекст устройства назначения, обычно это принтер.

dwAction

DWORD. Одно из значений, перечисленных в табл. 16.2.

Таблица 16.2. Значения параметра dwAction функции ColorMatchToTarget

Значение

Описание

CS_ENABLE

Разрешить предварительный просмотр согласования цветов.

CS_DISABLE

Запретить предварительный просмотр согласования цветов.

CS_DELETE_TRANSFORM

Запретить предварительный просмотр и удалить цветовое преобразование, используемое для предварительного просмотра.

Возвращаемое значение

BOOL. В случае успешного выполнения — TRUE; в ином случае — FALSE.

Включаемый файл

wingdi.h

См. также

CheckColorsInGamut, SetlCMMode

Пример

В следующем примере показано, как использовать функцию ColorMatchToTarget для предварительного просмотра отображения цветов при выводе на принтер. Когда пользователь выбирает пункт меню Test!, отображаются два прямоугольника: один — синий, а другой — имеющий цвет, который применяется в режиме предварительного просмотра для принтера "HP DeskJet 895Cxi".

См.    \local-sources\chapl6\16-03. txt

CreateColorSpace                       Windows 98   • Windows 2000

Описание Синтаксис

Функция CreateColorSpace создает логическое цветовое пространство. HCOLORSPACE CreateColorSpace(LPLOGCOLORSPACE IpLogColorSpoce)

Параметры

IpLogColorSpace

LPLOGCOLORSPACE. Указатель на структуру LOGCOLORSPACE, которая определяет создаваемое логическое цветовое пространство. Определение структуры LOGCOLORSPACE приведено ниже.

Возвращаемое значение

HCOLORSPACE. В случае успешного выполнения — дескриптор, который обозначает логическое цветовое пространство; в ином случае — NULL.

Включаемый файл

wingdi.h

См. также

DeleteColorSpace, GetLogColorSpace, SetCoIorSpace

Определение LOGCOLORSPACE

typedef   LONG LCSCSTYPE;

typedef LONG LCSGAMUTMATCH;

typedef struct tagLOGCOLORSPACE {

DWORD                        IcsSignature;

DWORD                        IcsVersion;

DWORD                        IcsSize ;

LCSCSTYPE                  IcsCSType ;

LCSGAMUTMATCH         Icslntent;

CIEXYZTRIPLE           IcsEndpoints ;

DWORD                        IcsGammaRed;

DWORD                      IcsGammaGreen ;

DWORD                        IcsGammaBlue ;

TCHAR                        IcsFilename [MAX PATH]; }   LOGCOLORSPACE,   *LPLOGCOLORSPACE ;

Члены

IcsSignature

DWORD. Сигнатура цветового пространства. Устанавливается рави0* LCS_SIGNATURE.

IcsVersion

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

IcsSize

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

IcsCSType

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

Таблица 16.3. Значения члена IcsCSType структуры LOGCOLORSPACE

Значение

Описание

LCS_CAUBRATED_RGB

Коды цветов представляют собой калиброванные коды RGB. Коды до передачи на устройство преобразуются с использованием конечных точек, указанных членом IcsEndpoints. Если это значение не указано, параметр IcsEndpoints игнорируется.

LCS_$RGB

Коды цветов представляют собой коды sRGB устройства.

LCS_WINDOWS_COLOR_SPACE

Коды цветов относятся к цветовому пространству Windows, заданному по умолчанию.

Icslntent

LCSGAMUTMATCH. Метод согласования гаммы. Этот параметр может иметь одно из значений, перечисленных в табл. 16.4.

Таблица 16.4. Значения члена Icslntent структуры LOGCOLORSPACE

Значение

Описание

LCS_GM_ABS_COLORIMETRIC

Поддерживать яркость на уровне белого цвета. Приводить цвета к ближайшему цвету в гамме устройства назначения.

LCS_GM_BUSINESS

Поддерживать насыщенность. Используется для деловых диаграмм и в других случаях, когда требуются несглаженные цвета.

LCS_GM_GRAPHICS

Поддерживать колориметрическое согласование. Используется для графических проектов и именованных цветов.

LCS_GM_IMAGES

Поддерживать контрастность. Используется для фотографий и изображений пейзаж?.

IcsEndpoints

CIEXYZTRIPLE. Структура CIEXYZTRIPLE, содержащая конечные точки компонентов красного, зеленого и синего цветов. Определение структуры CIEXYZTRIPLE приведено ниже.

IcsGammaRed

DWORD. Коэффициент масштабирования координаты красного цвета.

IcsGamma Green

DWORD. Коэффициент масштабирования координаты зеленого цвета.

IcsGammaBlue

DWORD. Коэффициент масштабирования координаты синего цвета.

Icsfllename

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

Определение CIEXYZTRIPLE

typedef struct tag CIEXYZTRIPLE {

CIEXYZ     ciexyzRed;

CIEXYZ    ciexyzGreen;

CIEXYZ    ciexyzBlue; }   CIEXYZTRIPLE;

Члены

ciexyzRed

CIEXYZ. Координаты XYZ красной конечной точки. Определение структуры CIEXYZ приведено ниже.

ciexyzGreen

CIEXYZ. Координаты XYZ зеленой конечной точки.

ciexyzBlue

CIEXYZ. Координаты XYZ синей конечной точки.

Определение CIEXYZ//   Постоянная  точка  

2.30. //.................. typedef long FXPT2DOT30,   *LPFXPT2DOT30 ;

typedef struct tagCIEXYZ{

FXPT2DOT30  ciexyzX;

FXPT2DOT30 ciexyzY;

FXPT2DOT30  ciexyzZ; }   CIEXYZ ;