BufferedImage 创建问题 着急!!
各位大侠帮帮忙,BufferedImage 创建画布时,出现了创建太大溢出的现象new BufferedImage (10000, 10000, BufferedImage.TYPE_INT_RGB);
Exception in thread "main" java.lang.OutOfMemoryError: Java heap space
at java.awt.image.DataBufferInt.<init>(DataBufferInt.java:41)
at java.awt.image.Raster.createPackedRaster(Raster.java:458)
at java.awt.image.DirectColorModel.createCompatibleWritableRaster(DirectColorModel.java:1015)
at java.awt.image.BufferedImage.<init>(BufferedImage.java:312)
at jlu.edu.Test$MyImage.<init>(Test.java:135)
at jlu.edu.Test.<init>(Test.java:24)
at jlu.edu.Test.main(Test.java:113)
不知道有没有办法解决,谢谢各位大侠了! 

解决方案 »

  1.   

    你要那么大的图片,只能调大虚拟机内存了。你可以在run的对话框里选参数选项卡,然后就填上下面这些参数点run就可以了
    -Xms1024m -Xmx1024m如果还不知道怎么设,请baidu下把。
      

  2.   

    拿到其他机子上是不是还得设置。不过你是普通java程序的话,可以写个bat或者shell。
    里面把设置写好,一起发布给其他机器就行了。
      

  3.   

    嗯 好的 谢谢你!编了个程序,根据数据点的多少来定义bufferedimage的大小,结果数据点多了(200*数据点个数来定义width),结果就提示错误了。
    还有一个就是我用的netbeans,里面好像没有设置最大值,Xmx 说是自动默认
    netbeans_default_options="-J-client -J-Xss2m -J-Xms32m -J-XX:PermSize=32m -J-Dapple.laf.useScreenMenuBar=true -J-Dapple.awt.graphics.UseQuartz=true -J-Dsun.java2d.noddraw=true -J-Dsun.zip.disableMemoryMapping=true"# Note that default -Xmx and -XX:MaxPermSize are selected for you automatically.
      

  4.   

    谢谢!修改了但是还是不行!最后试了另一种方法,画在了Jpanel上,将其放在jscrollpane上,多大都可以,不会出现问题了!
    不过最后存成图片的时候,还得用到bufferedimage,还是会溢出!