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

зывает на входы палитры. Значение DIB_RGB_COLORS указывает   на явные цвета.

ppvBits

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

hSection

HANDLE. Дескриптор объекта, отображенного в память, на основе которого должно быть создано растровое изображение. Объект должен быть распределен в предыдущем вызове функции CreateFileMapping. Дескрипторы, созданные другим способом, вызывают аварийное завершение функции CreateDIBSection. Если этот параметр установлен равным NULL, GDI распределяет память для двоичных данных растрового изображения и игнорирует параметр dwOffset. При этом нельзя также запрашивать в дальнейшем объект и дескриптор с помощью функции GetObject.

dwOffset

DWORD. Смещение от начала раздела до начала двоичных данных растрового изображения. Этот параметр должен быть кратен 32 (выровнен по границе 32-разрядного типа данных).

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

НВГГМАР. В случае успешного выполнения — дескриптор растрового изображения; в ином случае возвращаемое значение — NULL.

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

wingdi.h

См. также

CreateFileMapping, CreateDIBitmap

Пример

В следующем примере показано, как использовать функцию CreateDIBSection для создания аппаратно-независимого растрового изображения и получения указателя IpBits на данные растрового изображения. Это удобно, если в приложении необходимо изменять содержимое растрового изображения.

См.    \local-sources\chapl3\13-09.txt

CreateEnhMetaFile                       • Windows 98   • Windows 2000

Описание

Функция CreateEnhMetaFile позволяет создать контекст устройства (DC) для расширенного метафайла. Результирующий контекст устройства используется и с функциями GDI, и с функцией Close EnhMetaFile для создания расширенного метафайла.

Синтаксис

HOC CreateEnhMetaFile( HOC hDCRef, LPCTSTR IpFilename, CONST RECT* IpRect, LPCTSTR IpDescription )

Параметры hDCRef

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

IpFllename

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

IpRect

CONST RECT*. Указатель на структуру RECT, которая указывает размеры изображения (в единицах длины 0,01 мм), которое должно храниться в расширенном метафайле. Если этот параметр установлен равным NULL, GDI вычисляет минимальную прямоугольную область, охватывающую изображение.

IpDescription

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

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

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

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

wingdi.h

См. также

CIoseEnhMetaFile, DeleteEnhMetaFile

Пример

В следующем примере при запуске программы в результате обработки сообщения WM_CREATE создается расширенный метафайл. Метафайл содержит прямоугольник, который закрашивается кистью со штриховым рисунком (рис. 13.6). Метафайл воспроизводится при получении сообщения \VM_PAINT. Метафайл масштабируется с учетом размеров клиентской области.