CDC dd ?
Cbmp dd ?
invoke CreateCompatibleDC,0
mov [CDC],eax
invoke CreateBitmap, 5000, 5000, 1, 32, 0
mov [Cbmp],eax
invoke SelectObject, [CDC], [Cbmp]
invoke DeleteObject,eax
invoke DeleteObject,[Cbmp]
mov eax,[CDC] ;в eax будет созданный DC
Сохранение большого изображения с контекста устройства в файл
Подскажите пожалуйста такую вещь. Есть функция, которая выводит в контекст устройства изображение. Нужно сохранить это изображение в файл BMP. Функция сохранения уже есть (пример из MSDN). Для малых изображений проблем не возникает, но размеры изображения могут быть больше размеров экрана (на форме рисуется только часть, возможна прокрутка). Как быть в таком случае? CreateCompatibleDC(GetDC(NULL)) не помогает, т. к. здесь действует ограничение на размер экрана. Может быть нужно как-то создать большой контекст, но с чем его совместимым делать? Или существуют какие-то другие способы решения проблемы? Буду очень благодарен за любую помощь.
Ну вообщем каким бы нибыло изображение и как бы не старалась функция вывода, выйти за пределы существующего контекста не выйдет - он не резиновый, точно так же и с сохранением. Я думаю что разумно будет создать большой контекст, выводить в него соответсвующее изображение и при необходимости копировать его часть в видимую область. А вообщем суть проблемы не совсем понятна.
Т.е. подскажите пожалуйста, как создать контекст размером к примеру 5000 на 5000 пикселей?
Ну например так: