Составители:
hdc, 0, 0, 639, 479, SRCCOPY );
TransferToClipboard( hwnd, hBitmap, CE_BITMAP );
DeleteDC( hdcMem );
Наконец, контекст устройства удаляется из памяти, а право на владение
растровым изображением передается буферу обмена.
Чтение растрового изображения. Аналогичным образом происходит и
чтение растрового изображения из буфера обмена. Процесс начинается с
открытия буфера и чтения из него дескриптора растрового изображения:
OpenClipboard( hwnd );
hBitmap = GetClipboardData ( CF_BITMAP ) ;
hdcMem = CreateCompatibleDC ( hdc );
SelectObject( hdcMem, hBitmap );
Опять-таки, необходим совместимый контекст устройства. Затем
функция SelectObject загружает в него изображение.
Параллельно с описанными выполняются еще несколько задач. Во-
первых, в контексте памяти необходимо задать режим отображения,
совместимый с контекстом дисплея. Во-вторых, перед тем как изображение
будет скопировано, нужно определить его размер. Размер изображения можно
получить путем копирования его заголовка в локальную переменную bm:
SetMapMode(hdcMem,.GetMapMode( hdc ) );
GetObject( hBitmap, sizeof(BITMAP), (LPSTR) &bm );
Далее изображение с помощью функции BitBlt копируется из контекста
памяти в контекст устройства:
BitBlt( hdc, 0, 0, bm.bmWtdth, bm.bmHeight,
hdcMem, 0, 0, SRCCOPY );
ReleaseDC( hwnd, hdc );
DeleteDC( hdcMem );
CloseClipboard();
Осталось только очистить буфер обмена перед его закрытием, и задача
будет выполнена.
4. Рассмотреть механизм чтения и записи метафайлов.
Запись метафайла. В текстовом и декартовых режимах отображения
масштаб является фиксированным. Изотропный и анизотропный режимы
требуют наличия специальной информации, сопровождающей команды
метафайла.
37
hdc, 0, 0, 639, 479, SRCCOPY );
TransferToClipboard( hwnd, hBitmap, CE_BITMAP );
DeleteDC( hdcMem );
Наконец, контекст устройства удаляется из памяти, а право на владение
растровым изображением передается буферу обмена.
Чтение растрового изображения. Аналогичным образом происходит и
чтение растрового изображения из буфера обмена. Процесс начинается с
открытия буфера и чтения из него дескриптора растрового изображения:
OpenClipboard( hwnd );
hBitmap = GetClipboardData ( CF_BITMAP ) ;
hdcMem = CreateCompatibleDC ( hdc );
SelectObject( hdcMem, hBitmap );
Опять-таки, необходим совместимый контекст устройства. Затем
функция SelectObject загружает в него изображение.
Параллельно с описанными выполняются еще несколько задач. Во-
первых, в контексте памяти необходимо задать режим отображения,
совместимый с контекстом дисплея. Во-вторых, перед тем как изображение
будет скопировано, нужно определить его размер. Размер изображения можно
получить путем копирования его заголовка в локальную переменную bm:
SetMapMode(hdcMem,.GetMapMode( hdc ) );
GetObject( hBitmap, sizeof(BITMAP), (LPSTR) &bm );
Далее изображение с помощью функции BitBlt копируется из контекста
памяти в контекст устройства:
BitBlt( hdc, 0, 0, bm.bmWtdth, bm.bmHeight,
hdcMem, 0, 0, SRCCOPY );
ReleaseDC( hwnd, hdc );
DeleteDC( hdcMem );
CloseClipboard();
Осталось только очистить буфер обмена перед его закрытием, и задача
будет выполнена.
4. Рассмотреть механизм чтения и записи метафайлов.
Запись метафайла. В текстовом и декартовых режимах отображения
масштаб является фиксированным. Изотропный и анизотропный режимы
требуют наличия специальной информации, сопровождающей команды
метафайла.
37
Страницы
- « первая
- ‹ предыдущая
- …
- 35
- 36
- 37
- 38
- 39
- …
- следующая ›
- последняя »
