Re[6]: перенаправление стандартного вывода
От: B_A_D Израиль  
Дата: 04.07.03 11:42
Оценка:
Здравствуйте, PavZ, Вы писали:



GT>>С этим контекстом можно работать так-же как с реальным (выделяется область в памяти и для неё создаётся контекст, совместимый с контекстом реального устройства)

GT>>а работает всё гораздо быстрее, т.к. не происходит физического вывода на экран

PZ>Ок. А как получить указатель на выделеную память ? в доках не нашел про эту фичу ничего.



Копать тебе нужно в сторону CreateDIBSection:



CreateDIBSection

The CreateDIBSection function creates a DIB that applications can write to directly. The function gives you a pointer to the location of the bitmap bit values. You can supply a handle to a file-mapping object that the function will use to create the bitmap, or you can let the system allocate the memory for the bitmap.

HBITMAP CreateDIBSection(
  HDC hdc,                 // handle to DC
  CONST BITMAPINFO *pbmi,  // bitmap data
  UINT iUsage,             // data type indicator
  VOID **ppvBits,          // bit values
  HANDLE hSection,         // handle to file mapping object
  DWORD dwOffset           // offset to bitmap bit values
);


После создания ты имеешь указатель на непрерывный участок памяти и плюс к этому,HBITMAP ,
с которым ты можешь работать посредством GDI.

Создаешь, выбираешь ее на предварительно созданном MemDC (CreateCompatibleDC)
и рисуешь.
Пошарься в интернете насчет готового класса CDib.Я сам такой сделал — работает и с DIBами и с JPEGами и
очено прост в использовании.
И что-то подобное есть на www.codeguru.com
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.