我用BufferedImage,截全屏幕1024*768的图使用BufferedImage.TYPE_INT_RGB类型内存占用为3MB,我用什么方法来正比例缩小
这个1024*768的图像,以至于它占用较小的内存空间。

解决方案 »

  1.   

    我补充一下,楼上的同学没明白我的意思。我的意思是在运行时在内存中生成JFrame截图图片(利用BufferedImage,不要往硬盘上去写),然后在更小的窗口上显示(由于窗口比较小,没必要用1024*768像素的图区画在非常小的窗口上).我的需求是当我打开一个功能窗口,在下面会有他的截图映像(映像在尺寸很小的容器里,可能只有50*50)
      

  2.   

         BufferedImage in = ImageIO.read(new File(inputFile));
         resize(in,width,height);
         ImageIO.write(in, "jpg", new File(outputFile));
      

  3.   

    sorry
    BufferedImage image = ....
    image.getGraphics().drawImage(image, 0, 0, width, height, null);