我需要将一些用Java生成的可视数据导出到PNG文件中。 我在源代码中使用的方法是:
//create jframe then draw on it...
jframe.setSize(jrame.getPreferredSize());
BufferedImage bufferedImage = new BufferedImage(jframe.getWidth(), jframe.getHeight(), BufferedImage.TYPE_INT_ARGB);
jframe.paint(bufferedImage.getGraphics());
jframe.dispose();
问题是当绘图很大时(因为它需要),有时导出失败:
java.lang.IllegalArgumentException:尺寸(宽度= 73614高度= 73540)太大
导出部分图像不适合我。我可以输出什么?也许是定制出口?外部库/ API?如果除了png之外还使用了其他图片扩展名,那对我来说很好。
编辑:当内容变得大于监视器大小时,jframe已正确处理高度和宽度滚动。出口过程也适用于此。
答案 0 :(得分:1)
您可能希望尝试某种不同的格式,例如SVG,而不是保存到PNG文件。关于处理Apache Batik and SVGGraphics2D的堆栈溢出的答案可能是一个开始。