См. также |
CreateBitmapIndirect, BitBlt, SelectObject, DeleteObject |
|||||||
Пример |
В следующем примере функция CreateBitmap применяется для создания монохромного растрового изображения, когда пользователь выбирает пуню-меню Test!. Это растровое изображение выбирается для контекста устройства памяти и на нем выводятся прямоугольник и эллипс. После этого отображается полученное растровое изображение (рис 13.4). |
|||||||
См. \local-sources\cbapl3\13-05.txt |
||||||||
CreateBitmapIndirect + Windows 98 + Windows 2000 |
||||||||
Описание |
Функция CreateBitmapIndirect позволяет создать растровое изображение по данным структуры BITMAP. Структура BITMAP описывает ширину, высоту, формат цвета (число цветовых плоскостей и битов на пиксель), а также содержит фактическое двоичное представление растрового изображения. |
|||||||
Синтаксис |
HBITMAP CreateBitmapIndirect( CONST BITMAP* Ipbm ) |
|||||||
Параметры Ipbm |
CONST BITMAP*. Указатель на структуру BITMAP, которая содержит информацию о растровом изображении. Если в приложении член bmWidth или bmHeight установлен равным 0, то функция CreateBitmapIndirect возвращает дескриптор монохромного растрового изображения с размерами 1x1 пиксель. Определение структуры BITMAP приведено ниже. |
|||||||
Возвращаемое значение |
НВГГМАР. В случае успешного выполнения — дескриптор нового растрового изображения; в ином случае возвращаемое значение — NULL. |
|||||||
Включаемый файл |
wingdi.h |
|||||||
См. также |
CreateBitmap, SelectObject, DeleteObject |
|||||||
Определение BITMAP |
||||||||
typedef struct tagBITMAP { LONG bmType ; LONG bmWidth; LONG bmHeight; LONG bmWidthBytes ; WORD bmPlanes ; WORD bmBitsPixel; LPVOID bmBits; } BITMAP; |
||||||||
Члены |
||||||||
bmType |
LONG. Тип растрового изображения. Этот член должен иметь значение 0. |
|||||||
bmWidth |
LONG. Ширина растрового изображения в пикселях. |
|||||||
bmHeight |
LONG. Высота растрового изображения в пикселях. |
|||||||
bmWidthBytes |
LONG. Число байтов в каждой строке развертки. Это значение должно быть кратно двум, поскольку в Windows предполагается, что двоичное представление растрового изображения образует массив, выровненный по границе слова. |
|||||||
bm Planes |
WORD. Число цветовых плоскостей. |
|||||||
bmBitsPixel |
WORD. Число битов, необходимых для представления цвета пикселя. |
|||||||
bmBits |
LPVOID. Указатель на начало двоичного представления растрового изображения. Член bmBits представляет собой указатель на массив символьных (однобайтовых) значений. |
|||||||
Примерv/п i. vj4W.ri vsvsjiuwi xi VSJVTIU. |
В следующем примере с применением функции CreateBitmapIndirect создается растровое изображение, когда пользователь выбирает пункт меню Test!. Растровое изображение представляет собой букву X, отображаемую в клиентской области окна. |
|||||||
CM. \local-sources\cbapl3\13-06.txt |
||||||||
CreateCompatibleBitmap • Windows 98 • Windows 2000 |
||||||||
Описание |
Функция CreateCompatibleBitmap позволяет создать растровое изображение, совместимое с устройством, которое связано с заданным контекстом устройства (DC). Полученное растровое изображение в памяти имеет такое же число цветовых плоскостей и битов кодировки цвета на пиксель, что и само устройство. Затем это растровое изображение можно выбрать в контекст устройства памяти для вывода. |
|||||||
Синтаксис |
HBITMAP CreateCompatibIeBitmap( HDC hDC, int nWidth, int nHeight ) |
|||||||
Параметры |
||||||||
hDC |
HDC. Дескриптор контекста устройства для физического устройства, с которым должно быть совместимо растровое изображение. |
|||||||
n Width |
int. Ширина растрового изображения в пикселях. |
|||||||
nHeight |
int. Высота растрового изображения в пикселях. |
|||||||
Возвращаемое значение |
HBITMAP. В случае успешного выполнения — дескриптор нового растрового изображения; в ином случае возвращаемое значение — NULL. |
|||||||
Включаемый файл |
wingdi.h |
|||||||
См. также |
CreateCompatibleDC |
|||||||
Пример |
Следующий пример аналогичен примеру для функции CreateBitmap, за исключением того, что в этом примере гарантируется совместимость растре-вого изображения с устройством отображения, поскольку применяется функция CreateCompatibleBitmap. |
|||||||
См. \local-sourcea\chapl3\13-07.txt |
||||||||
CreateDIBitmap • Windows 98 • Windows 2000 |
||||||||
Описание |
Функция CreateDIBitmap позволяет создать аппаратно-зависимое растровое изображение (DDB) из аппаратно-независимого растрового изображения (DIB) и при желании установить биты растрового изображения. |
|||||||
Синтаксис |
HBITMAP CreateDIBitmap( HDC hDC, CONST BITMAPINFOHEADER* Ipbmih, DWORD dwlnit, CONST VOID* Ipblnit, CONST BITMAPINFO* Ipbmi, UINT uUsage ) |
|||||||
Параметры hDC |
HDC. Контекст устройства для физического устройства, на котором должно быть отображено растровое изображение. |
|||||||
Ipbmih |
CONST BITMAPINFOHEADER*. Указатель на структуру BITMAPINFOHEADER. Если параметр dwlnit имеет значение CBMJNIT, в функции для получения требуемой ширины и высоты растрового изображения, а также другой информации применяется структура BITMAPINFOHEADER. Определение структуры BITMAPINFOHEADER приведено ниже. |
|||||||
dwlnit |
DWORD. Определяет, инициализировано или нет созданное растровое изображение. Если этот параметр установлен равным 0, растровое изображение не инициализировано. Если этот параметр установлен равным CBM_INIT, для инициализации растрового изображения применяются данные, указанные параметрами Ipblnit и Ipbmi. |
|||||||
Ipblnit |
CONST VOID*. Указатель на массив байтов, содержащий начальные данные растрового изображения. Формат данных зависит от члена biBitCount структуры BITMAPINFOHEADER, содержащейся в структуре BITMAP-INFO, на которую указывает параметр Ipbmi. |
|||||||
Ipbmi |
CONST BITMAPINFO*. Указатель на структуру BITMAPINFO, которая описывает размеры и форм'ат представления цвета в массиве, указанном параметром Ipblnit. Определение структуры BITMAPINFO приведено ниже. |
|||||||
и Usage |
UINT. Указывает, был ли член bmiColors структуры BITMAPINFO инициализирован, и если да, то содержит ли член bmiColors явные значения RGB или индексы палитры. Значение DIB_PAL_COLORS указывает на входы палитры. Значение DIB_RGB_COLORS указывает на явные цвета. |
|||||||
Возвращаемое значение |
HBITMAP. В случае успешного выполнения — дескриптор нового растрового изображения; в ином случае возвращаемое значение — NULL. |
|||||||
Включаемый файл |
wingdi.h |
|||||||
См. также |
GetDIBits, CreateBitmap |
|||||||
Определение BITMAPINFOHEADERtypedef struct tagBITMAPINFOHEADER< DWORD biSize; LONG biWidth; LONG biHeight; WORD biPlanes ; WORD biBitCount DWORD biCompression; DNORD biSizelmage ; LONG biXPelsPerMeter; LONG biYPelsPerMeter; DWORD biClrUsed; DWORD biClr Important ; } BITMAPINFOHEADER, *LPBITMAPINFOHEADEH |
||||||||
Члены |
||||||||
biSize |
DWORD. Число байтов, требуемых в соответствии со структурой. |
|||||||
biWidth |
LONG. Ширина растрового изображения в пикселях. |
|||||||
biHeight |
LONG. Высота растрового изображения в пикселях. Если параметр biHeight положителен, растровое изображение имеет восходящий формат D1B, и начало его координат находится в левом нижнем углу. Если параметр biHeight отрицателен, растровое изображение имеет нисходящий формат DIB, и начало его координат находится в левом верхнем углу. |
|||||||
biPlanes |
WORD. Число плоскостей для целевого устройства. Это значение должно быть установлено равным 1 . |
|||||||
biBitCount |
WORD. Число битов на пиксель. Это значение должно быть равно 0,1,4 8, 16, 24 или 32. |
|||||||
biCompression |
DWORD. Тип уплотнения для сжатого восходящего растрового изображе ния (растровые изображения нисходящего формата DIB не могут быть ежа ты). В качестве этого параметра применяется одно из значений, перечне ленных в табл. 13.5. |
|||||||
biSizelmage |
DWORD. Размер изображения в байтах. |
|||||||
biXPelsPerMeter |
LONG. Разрешающая способность по горизонтали целевого устройства дш растрового изображения в пикселях на метр. |
|||||||
biYPelsPerMeter |
LONG. Разрешающая способность по вертикали целевого устройства дд> растрового изображения в пикселях на метр. |
|||||||
Таблица 13.5. Значения члена biCompression структуры BITMAPINFOHEADER |
||||||||
Значение |
Описание |
|||||||
BI_RGB |
Несжатый формат. |
|||||||
BI_RLE8 |
Формат кодирования длин серий (RLE — run-length encoding) для растровых изображений с 8 битами на пиксель. Формат сжатия представляет собой двухбайтовый формат, состоящий из байта числа повторений, за которым следует байт, содержащий индекс цвета. |
|||||||
BI_RLE4 |
Формат RLE для растровых изображений с 4 битами на пиксель. Формат сжатия представляет собой двухбайтовый формат, состоящий из байта числа повторений, за которым следует байт, содержащий индекс цвета. |
|||||||
BI_BITFIELDS |
Указывает, что растровое изображение не сжато и таблица цветов состоит из трех масок цвета в виде двойного слова, которые содержат, соответственно, красный, зеленый и синий компонент каждого пикселя. Эти значение параметра является допустимым при его использовании для растровых изображений с 16 и 32 битами на пиксель. |
|||||||
BMPEG |
Указывает, что изображение имеет формат JPEG. |
|||||||
BI_PNG |
Указывает, что изображение имеет формат PNG. |
|||||||
biClrUsed |
DWORD. Число индексов цвета в таблице цветов, фактически используемых в растровом изображении. Если это значение равно 0, в растровом изображении используется максимальное число цветов, соответствующее значению члена biBitCount для режима сжатия, указанного параметром biCompression. |
|||||||
Ы Clrlmportant |
DWORD. Число индексов цвета, которые необходимы для вывода растрового изображения. Если это значение равно 0, необходимы все цвета. |
|||||||
Определение BITMAPINFO typedef struct tagBITMAPINFO{BITMAPINFOHEADER bmiHeader; RGBQUAD bmiColors[l] ; } BITMAPINFO, *LPBITMAPIKFO; |
||||||||
Члены bmiHeader |
BITMAPINFOHEADER Структура BITMAPINFOHEADER, которая содержит информацию о размерах и формате представления цвета для изображения DIB. |
|||||||
bmiColors |
RGBQUAD[]. Массив структур RGBQUAD или данных типа двойного слова, которые определяют цвета в растровом изображении. |
|||||||
Пример |
В следующем примере в клиентской области окна выводится малое изображение глобуса, когда пользователь выбирает пункт меню Test!. Изображение, показанное на рис. 13.5, создается путем вывода изображения в контекст устройства памяти, содержащего аппаратно-независимое растровое изображение размером 50x50 пикселей. |
|||||||
CreateDIBSection • Windows 98 • Windows 2000 |
||||||||
Описание |
Функция CreateDIBSection создает аппаратно-независимое растровое изображение (DIB), в которое могут выводить данные и функции GDI, и функции приложения. Приложение после вызова функции DeleteObject должно закрыть объекты, отображенные в память, для удаления растрового изображения. |
|||||||
Синтаксис |
HBITMAP CreateDIBSection( HDC hDC, CONST BITMAPINFO* pbmi, UINT uUsage, VOID** ppvBits, HANDLE hSection, DWORD dwQffiet ) |
|||||||
Параметры hDC |
HDC. Дескриптор контекста устройства (DC). |
|||||||
pbmi |
CONST BITMAPINFO*. Указатель на структуру BITMAPINFO, которая содержит данные о формате создаваемого растрового изображения. Определение структуры BITMAPINFO приведено в описании функции CreateDIBitmap. |
|||||||
nUsage |
UINT. Указывает, содержит ли член Аян'Со/ог5структурыВ1ТМАРШРО значения RGB или индексы палитры. Значение DIB_PAL_COLORS ука- |
|||||||
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.