Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Division by zero при создании 32bpp bitmap в WinXP / 1 сообщений из 1, страница 1 из 1
05.10.2003, 07:55
    #32284191
slydiman
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Division by zero при создании 32bpp bitmap в WinXP
C++Builder 6, WinXP Pro SP1. При выполнении
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
DWORD dwWidth =  32 ;
  DWORD dwHeight =  32 ;

  BITMAPV5HEADER bi;
  ZeroMemory(&bi,sizeof(BITMAPV5HEADER));
  bi.bV5Size = sizeof(BITMAPV5HEADER);
  bi.bV5Width = dwWidth;
  bi.bV5Height = dwHeight;
  bi.bV5Planes =  1 ;
  bi.bV5BitCount =  32 ;
  bi.bV5Compression = BI_BITFIELDS;
// The following mask specification specifies a supported  32  BPP
// alpha format for Windows XP.
  bi.bV5RedMask   = 0x00FF0000;
  bi.bV5GreenMask = 0x0000FF00;
  bi.bV5BlueMask  = 0x000000FF;
  bi.bV5AlphaMask = 0xFF000000;

  void *lpBits;              // Create the DIB section with an alpha channel.
  HDC hdc = GetDC(NULL);
  HBITMAP hBitmap = CreateDIBSection(hdc, (BITMAPINFO *)&bi, DIB_RGB_COLORS, (void **)&lpBits, NULL, (DWORD) 0 );
  ReleaseDC(NULL,hdc);

  DeleteObject(hBitmap);


при вызове CreateDIBSection() получаю Floating point division by zero.

Не могу понять что не так. Фрагмент кода взят из примера создания полупрозрачного курсора с какого-то буржуйского форума
(автор примера некий Greg из Microsoft Developer Support)
...
Рейтинг: 0 / 0
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Division by zero при создании 32bpp bitmap в WinXP / 1 сообщений из 1, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]