2009-09-24 52 views
0

我想繪製的TImage帆布表,但是當我想畫一個大表,出現此錯誤「沒有足夠的存儲是可用來處理此命令」繪圖和存儲不足?

增加在註冊表中的SharedSection,但我的問題沒有影響。

請指導我..

+7

你將不得不提供更多關於你想要得到一個體面的答案的更多細節。 – 2009-09-24 17:59:06

+1

你想要創建多大的圖片? (尺寸和顏色深度) – 2009-09-24 19:24:44

+0

嗨,我的表格大小是可變的。我創建圖像並設置寬度和高度。通過canvas.lineto繪製表格。當發生大表錯誤時。 – etoshey 2009-09-25 15:18:10

回答

3

我想我遇到過這個問題。看看PixelFormat。將它從默認設置爲「down」對我來說是個竅門。

WorkPicture1:= TPicture.Create;

WorkPicture1.Bitmap.PixelFormat:= pf24bit;

2

如果將het位圖的大小設置爲大於您桌面的te大小的大小,則會發生此錯誤。爲了避免這種錯誤,您可以創建以下面的方式與設備無關的位圖:

bmp := TBitmap.Create; 
bmp.HandleType := bmDIB; <-- this does the trick. 
bmp.Width := Printer.PageWidth; 
bmp.Height := Printer.PageHeight; 

無論你需要這個解決方案取決於你的顯卡的能力。在終端服務器情況下,我們遇到了很多錯誤,其中沒有多少視頻RAM分配給一個會話。使用這種解決方案,您可以強制Delphi使用普通的RAM作爲位圖,而不是顯卡上的內存。