Составители:
3. Рассмотреть механизм чтения и записи растровых изображений. В
программе ClipBoard содержится пример передачи посредством буфера обмена
растрового изображения. Эта часть программы начинается с захвата текущего
содержимого экрана, которое передается в буфер обмена в виде растрового
изображения. На рис. 4.1 показаны окно программы ClipBoard после
выполнения операции захвата экрана.
Рис. 4.1. Захват растрового изображения
Запись растрового изображения. Процесс передачи изображения в
буфер обмена начинается с создания в памяти совместимого контекста
устройства hdcMem. Затем происходит создание и выбор (также в памяти)
совместимого растрового изображения.
hdc = GetDC( hwnd ) ;
hdcMem = CreateCompatibleDC( hdc );
hBitmap = CreateCompatibleBitmap( hdc, 640, 480 );
SelectObject( hdcMem, hBitmap ) ;
Далее происходит копирование изображения из источника (в нашем
случае - с экрана) в контекст памяти. Затем вызывается функция
TransferToClipboard, которая, собственно, и осуществляет запись в буфер.
StretchBlt( hdcMem, 0, 0, 639, 479,
36
3. Рассмотреть механизм чтения и записи растровых изображений. В программе ClipBoard содержится пример передачи посредством буфера обмена растрового изображения. Эта часть программы начинается с захвата текущего содержимого экрана, которое передается в буфер обмена в виде растрового изображения. На рис. 4.1 показаны окно программы ClipBoard после выполнения операции захвата экрана. Рис. 4.1. Захват растрового изображения Запись растрового изображения. Процесс передачи изображения в буфер обмена начинается с создания в памяти совместимого контекста устройства hdcMem. Затем происходит создание и выбор (также в памяти) совместимого растрового изображения. hdc = GetDC( hwnd ) ; hdcMem = CreateCompatibleDC( hdc ); hBitmap = CreateCompatibleBitmap( hdc, 640, 480 ); SelectObject( hdcMem, hBitmap ) ; Далее происходит копирование изображения из источника (в нашем случае - с экрана) в контекст памяти. Затем вызывается функция TransferToClipboard, которая, собственно, и осуществляет запись в буфер. StretchBlt( hdcMem, 0, 0, 639, 479, 36
Страницы
- « первая
- ‹ предыдущая
- …
- 34
- 35
- 36
- 37
- 38
- …
- следующая ›
- последняя »