-1
final BufferedImage img = new BufferedImage(3500, 2480, BufferedImage.TYPE_BYTE_INDEXED);
final Graphics2D g2D = img.createGraphics();
g2D.setBackground(Color.white);
g2D.clearRect(0, 0, width, height);

这个问题的完整代码)。

尽管我已将 jvm 属性设置为 3GB,但此代码会导致 Java 堆空间异常。这可能是问题吗?

无论如何不能用更少的内存来绘制图像吗?我正在使用 A4 尺寸的 BMP 进行打印,只有文本。大多数时候它只是黑白的,而有时我也需要使用蓝色、粉色和灰色。

4

1 回答 1

0

你的问题中陈述的事实有一些非常可疑的地方。除非我弄错了,否则BufferedImage每个像素使用 1 个字节,因此3500 x 2480字节......大约 10Mbytes。但是您声称已将堆大小设置为 3GB。

您实际使用了哪些 JVM 选项?

于 2010-10-24T14:37:07.287 回答