其实很简单:
有一个像素为13000*9000的图片,我要把它加载到picturebox。结果程序报错:内存不足!
我也想着先把图像弄小一点,再加载。
尝试使用Image类的GetThumbnailImage方法,不行!
尝试使用g.drawimage,还是不行!
好像Image类就不能处理高或宽超过1W的图片。不知道路过的各位大虾有没有什么高见。谢谢了。

解决方案 »

  1.   

    处理图片时需要关注内存的释放问题
    你需要搞清楚是什么时候报的内存不足呀还可以使用提高WINDOWS XP 的内存使用
      

  2.   

    图片转换
    Image bitmap = new Bitmap(sReadPath);
    bitmap = new Bitmap(bitmap, iWidth, iHeight);
      

  3.   

    2楼 不是内存释放问题。不信你可以自己画一个10000*10000的图片,用个PictureBox去Load,一样会报错。而且图片不大,才4.5MB,我用同样的方法加载过30MB的图片。4楼的方法不行。
    1楼的哥哥,做下测试你就知道了。
      

  4.   

    多搞几个pictureBox 然后把图片分成小块放上去。不就好了吗
      

  5.   

    什么格式图片
    System.Drawing.Image img = System.Drawing.Image.FromFile(oldfile); 
    图片本身不能被正确识别,或是文件已经损坏,会报内存不足
    Image 对象资源是否释放
      

  6.   

    现在好些了吗?
    每像数32bit(真彩+Alpha)是4个字节:),共约446M.
    1楼回答问题前作了测试,实际上画了一个同时还装载了一个同样大小的图,用PictureBox进行显示并没有问题。
      

  7.   

    几M的图片没有问题,但是如果上百M的,那估计不行了。
    在Java中系统默认分配给JVM的内存是64M,如果想要增加,需要在运行时使用命令行参数,不知道.NET中有没有这方面的设置。
      

  8.   


    是啊,我刚发完发现自己又把×4写成×8了,但只能连续发3贴,只好作罢我记得以前用delphi加载一张14M的图就慢得要死,400多M即使可以加载我想也慢得要死了吧。。
      

  9.   

    其实就算加载成功了,LZ对于日后的使用效率放心么?LZ可以看看微软的DeepZoom,处理上G的图片都是可能的。
      

  10.   

    “Out of memory”(内存不足)错误消息
      

  11.   

    用X64的操作系統,弄個4G或者8G以上的內存去運行你的程式.
    誰說的1G大小的文件映射到內存就只是分配1G的內存空間?
      

  12.   

    应该不是报内存不足吧
    x86程序支持2G内存管理
    不过.NET控件尺寸不能超过10000x10000好像大图片处理没啥经验,可能能通过图片特性做分片加载,估计比较麻烦,支持格式也是单一的。
    不过建议楼主还是分块保存切成100x100一块
    加载的时候可以只加载显示区域的那些块
      

  13.   

    生成很大的图片我倒遇到过,不过生成的图片使用windows绘图打不开。
      

  14.   

    学习,一般大楼上的海报可能有这么大吧!不知道能不能考虑一下使用GDI+绘制上去而不用PICTUREBOX?
      

  15.   

    谢谢大家。问题已解决!实在是帖子不能加分了,要不然一定加分。确实,.NET的控件长和宽不能超过1W。但是我先前说的“好像Image类就不能处理高或宽超过1W的图片。”是错误的!Image类可以处理高或宽超过1W的图片!是我的程序的写的不好,没有控制好内存,所以运行到那里的时候就报内存溢出。买单,谢谢大家!
      

  16.   

    用了DirectX保证可以··呵 
      

  17.   

    Lz你好,我现在同样也遇到同样的问题
    bitmap = (Bitmap)Image.FromFile(openFileDialog1.FileName);打开大图片的时候出现问题。请问你的所说的用缩略图是怎样实现的呢
      

  18.   

    LZ,我有个29999*29999,大小约为 132M的,请问,我用imgae加载 的时候 ,直接 就报 异常了,如何解决呢,图片小点就没问题,我加载11935*8554,大小为20M的就没问题