Здравствуйте, 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