【发布时间】:2009-09-18 01:15:29
【问题描述】:
我正在使用 gdi c++, 如果我绘制 7000*5000 等大图像,StretchDIBits 函数有时会失败。 它什么也没画。 GetLastError() 表示没有足够的系统资源。 任何人都可以解释为什么 StretchDIBits 需要资源,即使 DC 准备成功。
【问题讨论】:
标签: c++ gdi stretchdibits
我正在使用 gdi c++, 如果我绘制 7000*5000 等大图像,StretchDIBits 函数有时会失败。 它什么也没画。 GetLastError() 表示没有足够的系统资源。 任何人都可以解释为什么 StretchDIBits 需要资源,即使 DC 准备成功。
【问题讨论】:
标签: c++ gdi stretchdibits
可能是 StretchDIBits 将源图像扩展为与目标位图相同尺寸的临时位图,然后将临时位图复制到目标中作为最后一步。因此,即使您有足够的内存在 StretchDIBits 调用之前创建目标位图 (140 MB),您的系统也没有额外的 140 MB 分配给临时位图。
【讨论】: