Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Название темы: Вывод картинок
Показать сообщение отдельно
Lev Lev вне форума Автор темы

Новый участник


Сообщения: 8
Благодарности: 0

Профиль | Отправить PM | Цитировать


Сперва виводил так:
/*BITMAP bm;
HDC hdcMem = CreateCompatibleDC(hdc);
HBITMAP hbmOld = (HBITMAP) SelectObject(hdcMem, (HBITMAP) hBitmap);

GetObject(hBitmap, sizeof(bm), &bm);
BitBlt(hdc, x, y, bm.bmWidth, bm.bmHeight, hdcMem,0,0, SRCCOPY);
SelectObject(hdcMem, hbmOld);
DeleteDC(hdcMem);*/

А это должна быть двойная буферизаци но чета неработает

BITMAP bm;
HDC hdcMem;
HBITMAP hbmMem;
HANDLE hOld;

PAINTSTRUCT ps;

// Создаем off-screen DC для двойной буферизации
hdcMem = CreateCompatibleDC(hdc);
hbmMem = CreateCompatibleBitmap(hdc, bm.bmWidth, bm.bmHeight );
hOld = SelectObject(hdcMem, hbmMem);

// Здесь рисуем в hdcMem
BitBlt(hdc, x, y, bm.bmWidth, bm.bmHeight, hdcMem, 0, 0, SRCCOPY);

// Освобождаем память
SelectObject(hdcMem, hOld);
DeleteObject(hbmMem);
DeleteDC (hdcMem);
return 0;

Пишет Run-Time Check Failure #3 - The variable 'bm' is being used without being initialized.

Отправлено: 22:00, 10-02-2010 | #3

Название темы: Вывод картинок