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,

http://dive4elements.wald.intevation.org