Метафайлы на диске предназначены для двух целей. Одна из них — возможность хранения графических данных для использования их в приложении. Метафайлы создаются по мере разработки приложения. Законченное приложение поставляется вместе с метафайлами на дистрибутивных дисках. Вторая — возможность хранения графических данных для приложения, связанного с рисованием или черчением. Метафайлы являются идеальным средством отображения, если в приложении используются для черчения такие объекты, как линии, прямоугольники и эллипсы. Метафайлы не столь удобны, если приложение основано на пиксельных данных.
Описания функций для работы с растровыми изображениями, пиктограммами и метафайлами
В табл. 13.1 приведены функции для работы с растровыми изображениями, пиктограммами и метафайлами. За таблицей следует подробное описание функций.
Таблица 13.1. Функции для работы с растровыми изображениями, пиктограммами и метафайлами
Функция |
Назначение |
|||
BitBIt |
Копирует растровое изображение из контекста устройства памяти в контекст другого устройства |
|||
CloseEnhMetaFile |
Закрывает контекст устройства (DC) расширенного метафайла и возвращает дескриптор, который обозначает метафайл |
|||
CopyEnhMetaFile |
Копирует расширенный метафайл в файл или память |
|||
Copykon |
Копирует пиктограмму из другого модуля в текущий модуль |
|||
Copylmage |
Создает новое изображение (пиктограмму, курсор или растровое изображение) и копирует в него атрибуты другого изображения |
|||
CreateBftmap |
Создает растровое изображение на основе массива двоичных значений цвета |
|||
CreateBitmaplndirect |
Создает растровое изображение на основе данных в структуре данных BITMAP |
|||
CreateCompatibleBttmap |
Создает в памяти растровое изображение, совместимое с устройством |
|||
CreateDIBttmap |
Создает в памяти растровое изображение на основе данных аппаратно-независимого растрового изображения (DIB) |
|||
CreateDIBSection |
Создает аппаратно-независимое растровое изображение (DIB), в которое могут непосредственно выполнять запись и функции GDI, и приложения |
|||
CreateEnhMetaFile |
Создает контекст устройства (DC) для расширенного метафайла |
|||
Createlcon |
Создает пиктограмму на основе двух блоков памяти, содержащих двоичные данные |
|||
CreafelconFromResource |
Создает пиктограмму или курсор из двоичных данных ресурса, описывающих пиктограмму |
|||
CreatelconFromResourceEx |
Создает пиктограмму или курсор требуемого размера из двоичных данных ресурса, описывающих пиктограмму |
|||
Createlconlndirect |
Создает пиктограмму или курсор по данным структуры ICONINFO |
|||
DeleteEnhMetaFile |
Удаляет расширенный метафайл |
|||
Destroylcon |
Уничтожает пиктограмму, ранее созданную функцией Createlcon |
|||
Drawlcon |
Выводит пиктограмму на устройство |
|||
DrawlconEx |
Выводит пиктограмму указанного размера на устройство с использованием растровых операций |
|||
EnumEnhMetaFile |
Перечисляет записи расширенного метафайла, извлекая каждую запись и передавая ее в функцию обратного вызова, определяемую приложением |
|||
GdiComment |
Помещает комментарий в расширенный метафайл |
|||
GetBitmapDimensionEx |
Определяет размеры растрового изображения, установленные ранее функцией SetBitmapDimensionEx |
|||
GetDIBits |
Извлекает двоичные данные растрового изображения и копирует их в буфер с использованием указанного формата |
|||
GetEnhMetaFile |
Создает дескриптор, который обозначает расширенный метафайл, хранимый в файле |
|||
GetEnhMetaFileBits |
Извлекает содержимое расширенного метафайла |
|||
GetEnhMetaFileDescription |
Извлекает необязательное текстовое описание из расширенного метафайла |
|||
GetEnhMetaFileHeader |
Извлекает запись, содержащую заголовок расширенного метафайла |
|||
GetEnhMetaFilePaletteEntries |
Извлекает необязательные элементы палитры из расширенного метафайла |
|||
Getlconlnfo |
Извлекает информацию о пиктограмме или курсоре |
|||
GetMetaRgn |
Определяет текущую метаобласть для контекста устройства |
|||
GetStretchBltMode |
Определяет текущий режим растяжения растрового изображения для контекста устройства |
|||
GetWinMetaFileBits |
Преобразует расширенный метафайл в метафайл Windows 3.x |
|||
LoadBitmap |
Загружает ресурс растрового изображения в память |
|||
Loadlcon |
Извлекает дескриптор пиктограммы, содержащейся в файле ресурса программы |
|||
Loadlmage |
Извлекает дескриптор изображения (пиктограммы, курсора или растрового изображения), содержащегося в файле ресурса программы |
|||
LookuplconldFromDirectory |
Находит в данных такую пиктограмму или курсор, которая лучше всего подходит для текущего устройства отображения |
|||
LookuplconldFromDirecforyEx |
Находит в данных такую пиктограмму или курсор, которая лучше всего подходит для текущего устройства отображения, возвращая пиктограмму или курсор указанного размера |
|||
PatBIt |
Выводит на устройство повторяющийся рисунок кисти |
|||
PlayEnhMetaFile |
Выводит расширенный метафайл в контекст устройства |
|||
PlayEnhMetaFileRecord |
Воспроизводит запись расширенного' метафайла, выполняя функции интерфейса графических устройств (GDI), указанные в записи |
|||
SetBitmapDimensionEx |
Устанавливает для растрового изображения предпочтительные размеры |
|||
SetDIBits |
Устанавливает в качестве пиксельных данных аппаратно-независимого растрового изображения (DIB) данные из буфера памяти |
|||
SetDIBitsToDevice |
Выводит данные из аппаратно-независимого растрового изображения (DIB) непосредственно в контекст устройства |
|||
SetEnhMetaFileBrts |
Создает расширенный метафайл в памяти из предоставленных данных |
|||
SetMetaRgn |
Создает пересечение текущей области отсечения контекста устройства с текущей метаобластью и сохраняет полученную область в качестве новой метаобласти для контекста устройства |
|||
SetStretchBttMode |
Устанавливает режим растяжения растрового изображения для функции StretchBIt |
|||
SetWinMefaFileBtts |
Преобразует метафайл Windows 3.x в расширенный метафайл |
|||
StretchBIt |
Копирует растровое изображение из одного контекста устройства в другой, растягивая или сжимая изображение в соответствии с размерами прямоугольной области назначения |
|||
StretchDIBfe |
Выводит данные из DIB непосредственно в контекст устройства, растягивая и/или сжимая изображение в процессе его вывода |
|||
BitBlt • Windows 98 • Windows 2000 |
||||
Описание |
BitBlt — стандартная функция вывода растрового изображения. Эта функция копирует растровое изображение из одного контекста устройства памяти в другой, например в контекст устройства какого-либо окна. Для этого вначале для контекста устройства памяти, созданного с помощью функции CreateCompatibleDC, должно быть выбрано растровое изображение. Это растровое изображение может быть скомбинировано с существующим фоновым изображением с использованием любого из кодов растровой операции. Функцию BitBlt поддерживают не все устройства. Чтобы определить, поддерживаются ли операции функции BitBlt, необходимо проверить значение RASTERCAPS, возвращенное функцией GetDeviceCaps. |
|||
Синтаксис |
BOOL BitBlt( HOC hdcDest, hit nXDest, int nYDest, hit nWidth, int nHeight, HDC hdcSrc, tat nXSrc, tat nYSrc, DWORD dwRop ) |
|||
Параметры |
||||
hdcDest |
HOC. Дескриптор контекста устройства, который должен принять растровое изображение. |
|||
nXDest |
int. Логическая координата х левого верхнего угла прямоугольной области назначения. |
|||
nYDest |
int. Логическая координата у левого верхнего угла прямоугольной области назначения. |
|||
nWidth |
int. Ширина прямоугольных областей источника и назначения в логических единицах длины. |
|||
nHeight |
int. Высота прямоугольных областей источника и назначения в логических единицах длины. |
|||
hdcSrc |
HDC. Контекст устройства, с которого должно быть скопировано растровое изображение. Это — обычно контекст устройства памяти, созданный функцией CreateCompatibleDC. |
|||
nXSrc |
int. Логическая координата х левого верхнего угла прямоугольной области источника. |
|||
Таблица 13.2. Коды растровых операций |
||||
Значение |
Описание |
|||
BLACKNESS |
Установить для всего вывода цвет, связанный с индексом 0 физической палитры (в физической палитре, заданной по умолчанию, это — черный цвет). |
|||
CAPTUREBLT |
Включить любые окна, которые накладываются на данное окно в результирующем изображении. |
|||
DSTINVERT |
Инвертировать прямоугольную область назначения. |
|||
MERGECOPY |
Растровые изображения источника и назначения комбинируются с помощью логического оператора AND. |
|||
MERGEPAINT |
Растровые изображения источника и назначения комбинируются с помощью логического оператора OR. |
|||
NOMRRORBITMAP |
Исключить возможность зеркально отображать растровое изображение. |
|||
NOTSRCCOPY |
Инвертировать растровое изображение источника и затем скопировать его в область назначения. |
|||
NOTSRCERASE |
Инвертировать результат объединения растровых изображений источника и назначения с использованием логического оператора OR. |
|||
PATCOPY |
Скопировать повторяющийся рисунок в область назначения. |
|||
PATINVERT |
Объединить растровое изображение назначения с повторяющимся рисунком с использованием логического оператора XOR. |
|||
PATPA1NT |
Скомбинировать цвета повторяющегося рисунка с цветами инвертированной прямоугольной области источника с использованием логического оператора OR. Результат комбинируется с цветами растрового изображения назначения с использованием логического оператора OR. |
|||
SRCAND |
Скомбинировать растровые изображения источника и назначения с использованием логического оператора AND. |
|||
SRCCOPY |
Скопировать область источника непосредственно в область назначения. |
|||
SRCERASE |
Скомбинировать инвертированные цвета растрового изображения назначения с цветами растрового изображения источника с использованием логического оператора AND. • |
|||
SRONVERT |
Скомбинировать растровые изображения источника и назначения с использованием логического оператора XOR. |
|||
SRCPAINT |
Скомбинировать растровые изображения источника и назначения с использованием логического оператора OR. |
|||
WHITENESS |
Установить для всего вывода цвет, связанный с индексом 1 в физической палитре (в физической палитре, заданной по умолчанию, это — белый цвет). |
|||
nYSrc |
int. Логическая координата у левого верхнего угла прямоугольной области источника. |
|||
dwRop |
DWORD. Код растровой операции. Эти коды определяют, как данные цвета для прямоугольной области источника должны быть объединены с данными цвета для прямоугольной области назначения для получения окончательного цвета. Некоторые широко применяемые коды растровых операций приведены в табл. 13.2. |
|||
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.