1
我有一個內存問題,我正在使用一個算法來「平化」PDF文檔中的頁面。CreateDibSection在磁盤而不是物理內存
HBITMAP hbmp = CreateDibSection(...);
ThirdPartyBmpManipulation(hbmp, "C:\\file.pdf", 0); //renders page 0 in file.pdf
void * hdib = ConvertBitmap(hbmp); //copy a Dib Section to a Dib
DeleteObject(hbmp); //frees the HBitmap while the Dib is now in memory
問題是,我有一個非常大的位圖,並在某些情況下,我不能保持HBITMAP在內存中,而我分配給被複制到DIB。
所以這是一個遠射,但我可以以某種方式分配磁盤上的Dib部分,並仍然有一個HBITMAP它? (對我的ConvertBitmap函數使用相同的句柄)
聽起來像一個很好的問題。我會有興趣知道答案。但爲什麼你仍然使用舊的Windows API?這真的很古老。爲什麼不使用GDI +? – Rafid 2011-01-13 17:13:58
@Promather GDI +只是GDI的一個包裝,使它真的很慢;-) – 2011-01-13 17:27:32