为了打印清楚,同时也避免逐句编制打印表格,我把一个A4 word
表格转成3300x4500的大图片,
赋给一个pictureBox ,然后调用数据库在图片上 print 数据
或PaintPicture 其它小图片。然后再缩小打印到A4,效果不错,
可以方便的实现打印预览!占用内存也就是20-30M。在512M内存
的机子上运行基本正常。但,若同是开了较多的其它程序,就不
行了,显示,不能重画图片......在别的配置更低的机子上也不
能运行......应该是占用内存太多了问题是,我才占用了20-30M内存啊?怎么就多了呢?另外,之所以使用大图片是因为,等大的图片(比如,A4 word
表格转成的图片,大概1500X2500)打印后总是不清楚,发虚,
使用更大的才行。
有没有别的方法?

解决方案 »

  1.   

    GDI资源与内存并没有绝对的关系,它受限于系统的支持而非内存,XP下还好,在98下尤其明显。
    一方面GDI的句柄数不能太多,另一方面,内存位图大小好像也是不能过大的,大位图也不能过多。
    你应该换个思路:既然,你用一张大位图没问题,那就不要再创建更多啦,每次用时都绘入这个位图就行了,因为你不管显示也好,还是打印都必须一张张的处理!
      

  2.   

    VB程序本身还要占用一定内存,你在任务管理器中就可以看占用的动态内存.你的内存512M确实小了一点,不访再加一根512M试试.
    另外,不访把图片转换成JPG文件试试,如果要求不是很高的话.