StretchDIBits失败,有时它什么都没画,

时间:2009-09-18 01:15:29

标签: c++ gdi stretchdibits

我正在使用gdi c ++, 如果我绘制7000 * 5000等大图像,StretchDIBits函数有时会失败。 它什么都没画。 GetLastError()表示没有足够的系统资源。 任何人都可以解释为什么StretchDIBits需要资源甚至DC已成功准备。

1 个答案:

答案 0 :(得分:1)

可能是StretchDIBits将源图像扩展为与目标位图具有相同尺寸的临时位图,然后将临时位置复制到目标位置作为最后一步。因此,即使您在StretchDIBits调用之前有足够的内存来创建目标位图(140 MB),您的系统也没有额外的140 MB分配给临时位图。