|
|
| Посл.отвђт | Сообщенiе |
|
|
Дата: Ноя 24, 2003 13:12:20 Подскажите как правильно обращаться с GetDIBits. Делаю так: invoke CreateBitmap, 1024, 1024, 1, 24, NULL mov hBitmap, EAX invoke CreateCompatibleDC, NULL mov dc, EAX mov bi.bmiHeader.biSize, sizeof(BITMAPINFOHEADER) invoke GetDIBits, dc, hBitmap, 0, 1024, 0, addr bi, DIB_RGB_COLORS .if EAX == 0 return -1 .endif и получаю ошибку. А если создаю 16-битный битмап, invoke CreateBitmap, 1024, 1024, 1, 16, NULL то проходит нормально. В чем загвоздка? Как сделать, чтобы работала в обоих случаях? |
|
|
Дата: Ноя 24, 2003 13:45:26 Zoda bitmap нужно выбрать в контексте устройства. Чтобы заполнить структуру высота тоже должна быть нулевой. Потом уже можно получать сами данные, передав заполненную структуру, и указатель на массив пикселей. |
|
|
Дата: Ноя 24, 2003 15:03:51 Zoda Посмотри исходник PaintView, процедуру BitmapToFile. Там при первом вызове получаем размер растра, а при втором битовы массив. |
|
|
Дата: Ноя 24, 2003 18:53:03 Можно посмотреть на код здесь: http://www.codexxi.com/MyBlocks.html |
|
Powered by miniBB 1.6 © 2001-2002
Время загрузки страницы (сек.): 0.069 |