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

Члены ciexyzX

FXPT2DOT30. Координата х в постоянной точке (2.30).

ciexyzY

FXPT2DOT30. Координата у в постоянной точке (2.30).

ciexyzZ

FXPT2DOT30. Координата z в постоянной точке (2.30).

Пример

В следующем примере в клиентской области отображаются два прямоугольника, как показано на рис. 16.2, когда пользователь выбирает пуню-меню Test!. Первый прямоугольник имеет синий цвет, который является неизменным. Перед выводом второго прямоугольника включается режим согласования цветов, и для контекста устройства устанавливается логическое цветовое пространство. Затем цвет второго прямоугольника становится красным, даже несмотря на то, что он был закрашен той же синей кистью, что и первый прямоугольник.

Cta.   \loeaJLr-eources\chapl6\16-04.txt

Рисунок 162. Пример применения функции CreateColorSpace

CreateHalftonePalette                  Windows 98   • Windows 2000

Описание

Функция CreateHalftonePalette создает полутоновую палитру для указанного контекста устройства. Эта функция применяется для создания полутоновой палитры в том случае, если для контекста устройства установлен режим растяжения HALFTONE. Логическую полутоновую палитру, возвращенную функцией CreateHalftonePalette, следует затем выбрать и реализовать в контексте устройства перед вызовом функции StretchBIt или StretchDIBits. Для удаления палитры применяется функция DeleteObject.

Синтаксис

HPALETTE CreateHalftonePaIette( HDC hDC )

Параметры

hDC

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

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

HPALETTE. В случае успешного выполнения дескриптор вновь созданной логической полутоновой палитры; в ином случае возвращаемое значение - NULL.

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

wingdi.h

См. также

SelectPalette, RealizePalette, GetDeviceCaps, DeleteObject, SetStretchBltMode

CreatePalette                           Windows 98   • Windows 2000

Описание

Функция CreatePalette создает логическую палитру на основе значений, указанных в структуре LOGPALETTE. В приложении можно определить, поддерживает ли устройство операции с палитрой, вызвав функцию GetDeviceCaps со значением RASTERCAPS. Для применения вновь созданной палитры можно вызвать функции SelectPalette и RealizePalette.

Синтаксис

HPALETTE CreatePalette( CONST LOGPALETTE* Iplgpl)

Параметры Iplgpl

CONST LOGPALETTE*. Указатель на структуру LOGPALETTE, которая содержит информацию о цветах создаваемой логической палитры.

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

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

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

wingdi.h

См. также

SelectPalette, RealizePalette, GetDeviceCaps

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

typedef struct tag LOGPALETTE {

WORD                   palVersion;

WORD                  palNumEntries ;

PALETTEENTRY palPalEn try [ 1 ] ; }   LOGPALETTE;

Члены

palVersion

WORD: Номер версии Windows для этой структуры (в настоящее время 0x0300).

palNumEntries

WORD. Число входов в массиве, содержащемся в параметре palPalEntry.

palPalEntry

PALETTEENTRY[1]. Массив структур PALETTEENTRY, которые определяют цвет и назначение каждого входа в логической палитре. Определение структуры PALETTEENTRY приведено ниже.

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

typedef struct tag PALETTEENTRY{

BYTE peRed;

BYTE peGreen;

BYTE peBlue;

BYTE peFlaga ; }   PALETTEENTRY;

Члены

peRed

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

peGreen

BYTE. Значение компонента зеленого цвета.

peBlue

BYTE. Значение компонента синего цвета.

pefJags

BYTE. Определяет способ использования элемента палитры. Этот член может иметь значение NULL или одно из значений, перечисленных в табл. 16.5.

Таблица /6.5.

Значения члена oeFlaqs структуры PALETTEENTRY

Флажок

Описание

PC_EXPLICIT

Младшее слово элемента логического палитры обозначает индекс аппаратной палитры.

PC_NOCOLLAPSE

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

PC_RESERVED

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