StretchDIBits не удалось, иногда он ничего не рисует,

StackOverflow https://stackoverflow.com/questions/1442162

  •  22-07-2019
  •  | 
  •  

Вопрос

я использую gdi c ++, Функция StretchDIBits иногда не срабатывает, если я рисую большие изображения, например 7000 * 5000. Ничего не рисует. GetLastError () говорит, что недостаточно системных ресурсов. Может кто-нибудь объяснить, почему StretchDIBits нужен ресурс даже DC готов успешно.

Это было полезно?

Решение

Может случиться так, что StretchDIBits расширяет исходное изображение во временное растровое изображение того же размера, что и целевое растровое изображение, а затем копирует временное изображение в конечное место в качестве последнего шага. Таким образом, даже если у вас достаточно памяти для создания целевого растрового изображения (140 МБ) перед вызовом StretchDIBits, ваша система не имеет дополнительных 140 МБ для выделения временного растрового изображения.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top