Mercurial > dive4elements > gnv-client
diff gnv-artifacts/src/main/java/de/intevation/gnv/exports/ChartExportHelper.java @ 639:a94ed2755480
Implemented SVG export for histograms.
gnv-artifacts/trunk@724 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Ingo Weinzierl <ingo.weinzierl@intevation.de> |
---|---|
date | Tue, 02 Mar 2010 14:48:32 +0000 |
parents | 65f09139e9b3 |
children | e5f1e868ee3e |
line wrap: on
line diff
--- a/gnv-artifacts/src/main/java/de/intevation/gnv/exports/ChartExportHelper.java Tue Mar 02 08:43:50 2010 +0000 +++ b/gnv-artifacts/src/main/java/de/intevation/gnv/exports/ChartExportHelper.java Tue Mar 02 14:48:32 2010 +0000 @@ -92,6 +92,41 @@ } + public static void exportHistogramsAsSVG( + OutputStream out, + Chart[] histograms, + String encoding, + int width, + int height + ) { + log.info("export histograms as svg"); + + if (encoding == null) + encoding = DEFAULT_ENCODING; + + org.w3c.dom.Document document = XMLUtils.newDocument(); + SVGGraphics2D graphics = new SVGGraphics2D(document); + + int size = histograms.length; + for (int i = 0; i < size; i++) { + JFreeChart chart = histograms[i].generateChart(); + chart.draw(graphics, new Rectangle2D.Double( + 0.0D, i*height,width,height)); + } + graphics.finalize(); + + try { + graphics.stream(new OutputStreamWriter(out, encoding)); + } + catch (SVGGraphics2DIOException svge) { + log.error("Error while writing svg export to output stream.", svge); + } + catch (UnsupportedEncodingException uee) { + log.error("Unsupported encoding: " + encoding, uee); + } + } + + public static void exportSVG( OutputStream out, JFreeChart chart,