Растровые изображения, пиктограммы и метафайлы, страница 14

cyDesired

int. Высота пиктограммы или курсора (в пикселях). Если этот параметр установлен равным 0 и параметр uflags не включает флажок LR_LOADREALSIZE, применяется значение системного параметра SM_CYICON или SM_CYCURSOR

uFlags

UINT. Указывает комбинацию значений, приведенных в табл. 13.16.

Таблица 13. 16. Значения параметра uFlags функции LookupldFromDirectoryEx

Значение

Описание

LR_DEFAULTCOLOR

Использовать формат представления цвета, заданный по умолчанию.

LR_LOADREALSIZE

Установить ширину и высоту, как указано членами biWidth и ЫНе/ght структуры  BITMAPINFOHEADER, которая определяет пиктограмму или курсор. Параметры cxDesired и cyDesired игнорируются.

LR_MONOCHROME

Создать монохромную пиктограмму или курсор.

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

int. Целочисленный идентификатор ресурса для пиктограммы или курсора, который в наибольшей степени подходит для текущего устройства отображения.

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

winuser.h

См. также

LookupIconldFromDirectory, FindResource, FindResourceEx, Loadlett^ LoadCursor

Пример

См. пример для функции CreatelconFromResourceEx.

PatBIt

Windows 98   • Windows 2000

Описание

Функция PatBIt позволяет заполнить прямоугольную область повторяющимся рисунком. Для вывода на устройство, указанное параметром hDC, служит выбранная кисть. Эта кисть применяется для заполнения прямоугольника, который определен параметрами   nXLeft, nYLeft, n Width и nHeight. Вывод этой кисти может быть объединен с фоновыми цветами различным образом, в зависимости от кода растровой операции, указанной параметром dwRop. Применяется для заполнения областей повторяющимся рисунком.

Синтаксис

BOOL PatBlt( HDC hDC, int nXLeft, int nYLeft, int nWidth, int nHeight, DWORD dwRop )

Параметры hDC

HDC. Контекст устройства.

nXLeft

int. Координата х (в логических единицах длины) левого верхнего угла прямоугольной области, которая должна быть заполнена.

nYLeft

int. Координата у (в логических единицах длины) левого верхнего угла прямоугольной области, которая должна быть заполнена.

п Width

int. Ширина прямоугольной области (в логических единицах длины).

п Height

int. Высота прямоугольной области (в логических единицах длины).

dwRop

DWORD. Код растровой операции. Этот код может иметь одно из значений, перечисленных в табл. 13.17.

Таблица 13.17. Значения параметра dwRop функции PatBIt

Значение

Описание

BLACKNESS

Заполнить прямоугольную область назначения с использованием цвета, связанного с индексом 0 в физической палитре. (В физической палитре, заданной по умолчанию, это — черный цвет.)

DSTINVERT

Инвертировать прямоугольную область назначения.

PATCOPY

Скопировать повторяющийся рисунок в растровое изображение назначения.

PATINVERT

Скомбинировать цвета повторяющегося рисунка с цветами прямоугольной области назначения с помощью логического оператора OR.

WHITENESS

Заполнить прямоугольную область назначения с использованием цвета, связанного с индексом 1 в физической палитре. (В физической палитре, заданной по умолчанию, это — белый цвет.)

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

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

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

wingdi.h

См. также

BitBIt, CreatePatternBrush, LoadBitmap

Пример

В следующем примере, показанном на рис. 13.13, серый прямоугольник с трехмерной рамкой закрашивается с помощью функции PatBIt, когда пользователь выбирает пункт меню Test!.

PlayEnhMetaFile                          • Windows 98   • Windows 2000

Описание

Функция PlayEnhMetaFile позволяет вывести в заданный контекст устройства (DC) изображение, хранящееся в расширенном метафайле. Если метафайл был записан в Windows 2000 с координатами, выходящими за пределы от -32768 до 32767, метафайл не воспроизводится в Windows 98 правильно.

Синтаксис

BOOL PlayEnhMetaFile( HDC hDC, HENHMETAFILE hemf, CONST RECT* IpRect)

Параметры hDC

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

hemf

HENHMETAFILE Дескриптор расширенного метафайла.

IpRect

CONST RECT*. Указатель на структуру RECT, которая содержит координаты (в логических единицах длины) ограничительного прямоугольника, применяемого для вывода изображения.

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

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

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

wingdi.h

См. также

GetEnh Metafile, CreateEnhMetaFile, CIoseEnhMetaFile

Пример

См. пример для функции CreateEnhMetaFile.

PlayEnhMetaFileRecord                  • Windows 98   • Windows 2000

Описание

Функция PlayEnhMetaFileRecord позволяет воспроизвести запись расширенного метафайла, выполнив функции интерфейса графических устройств (GDI), обозначенные этой записью. Эта функция применяется в функции обратного вызова в сочетании с функцией EnumEnhMetaFile.

Синтаксис

BOOL PlayEnhMetaFileRecord( HDC hDC, LPHANDLETABLE IpHandletable, CONST ENHMETARECORD* IpEnhMetaRetord, UINT n Handles )

Параметры hDC

HDC. Контекст устройства (DC), передаваемый функции EnumEnhMetaFile.

IpHandletable

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

IpEnhMetaRecord

CONST ENHMETARECORD*. Указатель на запись расширенного метафайла, которая должна быть воспроизведена.

nHandles

UINT. Число дескрипторов в таблице дескрипторов, указанной параметром IpHandletable.

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

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

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

wingdi.h

См. также

EnumEnhMetaFile

Пример

См. пример для функции EnumEnhMetaFile.

SetBitmapDlmensionEx                   • Windows 98   • Windows 2000

Описание

Функция SetBitmapDimensionEx позволяет назначить предпочтительны» размеры растровому изображению. Эти размеры могут применяться толЬ1 ко в приложениях, поскольку они не имеют смысла для системы Window В приложении можно получить значение этих размеров из растровог изображения с помощью функции GetBitmapDimensionEx.

Синтаксис

BOOL SetBitmapDimensionEx( HBITMAP hBitmap, int nWidth, int nHeigh LPSIZE IpSize )

Параметры hBitmap

HBITMAP. Дескриптор растрового изображения. В качестве этого парами ра не может применяться раздел растрового изображения DIB.

nWidth

int. Ширина растрового изображения.

nHeight

int. Высота растрового изображения.

IpSize

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

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

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

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

wingdi.h

См. также

GetBitmapDimensionEx

Пример

В следующем примере во время обработки сообщения WM CREATE загружается растровое изображение "smileBMP" и для этого растрового изображения устанавливаются размеры с помощью функции SetBitmapDimensionEx. Когда приложение обрабатывает сообщение \VM_PAINT, происходит выборка этих размеров из растрового изображения с использованием функции GetBitmapDimensionEx и вывод растрового изображения.

См.    \local-eeucces\chapl3\13-23.txt

SetDIBits                                   • Windows 98   * Windows 2000

Описание

Функция SetDIBits позволяет установить значения пикселей в растровом изображении с использованием данных цвета, находящихся в указанном аппаратно-независимом растровом изображении (DIB). Ко времени вызова функции SetDIBits это растровое изображение не должно быть выбрано для контекста устройства. При обработке большого растрового изображения его можно разбить на горизонтальные сегменты для уменьшения объема используемой памяти. Для обработки полос растровых данных необходимо указывать ряды значений uStartScan и uScanLines. Функция SetDIBits применяется, если в приложении необходимо изменить пиксельные данные растрового изображения DIB перед его выводом. Одним из возможных применений этой функции является смена цветов кнопки для отображения состояния ее выбора.

Синтаксис

'int SetDIBits( HDC hDC, HBITMAP hbmp, UINT uStartScan, UINT uScanLines, CONST VOID* IpvBits, CONST BITMAPINFO* Ipbmi, UINT и Color Use )

Параметры hDC

HDC. Контекст устройства.

hbmp

HBITMAP. Растровое изображение, которое должно быть изменено с использованием данных цвета из указанного изображение DIB.

uStartScan

UINT. Начальная строка развертки для аппаратно-независимых данных цвета в массиве, указанном параметром IpvBits.

uScanLines

UINT. Число строк развертки, которые содержатся в массиве, указанном параметром IpvBits.

IpvBits

CONST VOID*. Указатель на данные цвета изображения DIB, хранимые как массив байтов. Формат данных растрового изображения зависит от члена biBitCount структуры BITMAPINFOHEADER, содержащейся в структуре BITMAPINFO, на которую указывает параметр Ipbmi.

Ipbmi

CONST BITMAPINFO*. Указатель на структуру данных BITMAPINFO, которая содержит информацию о растровом изображении DIB. Определение структуры BITMAPINFO представлено в описании функции Create-D[ Bit map

nColorUse

UINT. Указывает, содержит ли член bmiColors структуры BITMAPINFO явные значения красного, зеленого и синего (RGB) или индексы палитры. Параметр uColorUse должен иметь одно из значений, перечисленных в табл. 13.18.

Таблица 13.18. Значения параметра uColorUse функции SetDIBits

Значение

Описание

DIB_PAL_COLORS

Таблица цветов состоит из массива 1 6-разрядных индексов в логической палитре контекста устройства, указанного параметром hDC.

DIB_RGB_COLORS

Таблица цветов предусмотрена и содержит литеральные значения RGB.