绘图和没有足够的存储?

时间:2009-09-24 17:45:24

标签: delphi

我想用Timage画布绘制一个表,但是当我想绘制一个大表时,会出现此错误“没有足够的存储空间来处理此命令”

增加注册表中的SharedSection,但不会影响我的问题。

请指导我..

2 个答案:

答案 0 :(得分:3)

我想我遇到过这个问题。查看PixelFormat。从默认设置“向下”为我做了诀窍。

WorkPicture1:= TPicture.Create;

WorkPicture1.Bitmap.PixelFormat:= pf24bit;

答案 1 :(得分:2)

如果将het位图的大小设置为大于桌面大小的某个值,则会发生此错误。要避免此错误,您可以按以下方式创建设备无关位图:

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

是否需要此解决方案取决于视频卡的功能。我们在终端服务器情况下遇到了这个错误,在这种情况下,一个会话没有分配太多的视频RAM。使用此解决方案,您可以强制Delphi为您的位图使用普通RAM而不是视频卡上的内存。