diff gnv-artifacts/src/main/java/de/intevation/gnv/exports/ChartExportHelper.java @ 617:3d13fa281a7e

Added new ouput mode: histogram. gnv-artifacts/trunk@688 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Ingo Weinzierl <ingo.weinzierl@intevation.de>
date Mon, 15 Feb 2010 11:44:01 +0000
parents a88e15972c72
children 65f09139e9b3
line wrap: on
line diff
--- a/gnv-artifacts/src/main/java/de/intevation/gnv/exports/ChartExportHelper.java	Fri Feb 12 18:04:58 2010 +0000
+++ b/gnv-artifacts/src/main/java/de/intevation/gnv/exports/ChartExportHelper.java	Mon Feb 15 11:44:01 2010 +0000
@@ -9,9 +9,12 @@
 import com.lowagie.text.pdf.PdfWriter;
 
 import java.awt.Transparency;
+import java.awt.Graphics;
 import java.awt.Graphics2D;
+import java.awt.geom.Point2D;
 import java.awt.geom.Rectangle2D;
 import java.awt.geom.Rectangle2D.Double;
+import java.awt.image.BufferedImage;
 import java.io.OutputStream;
 import java.io.OutputStreamWriter;
 import java.io.IOException;
@@ -25,6 +28,7 @@
 import org.jfree.chart.JFreeChart;
 
 import de.intevation.artifactdatabase.XMLUtils;
+import de.intevation.gnv.chart.Chart;
 
 
 /**
@@ -58,6 +62,31 @@
     }
 
 
+    public static void exportHistograms(
+        OutputStream out,
+        Chart[]      histograms,
+        String       format,
+        int          width,
+        int          height)
+    throws IOException
+    {
+        log.info("export histograms");
+
+        int size            = histograms.length;
+        BufferedImage image = new BufferedImage(
+            width, height*size, BufferedImage.TYPE_INT_RGB);
+        Graphics2D g        = image.createGraphics();
+
+        for (int i = 0; i < size; i++) {
+            JFreeChart chart = histograms[i].generateChart();
+            chart.draw(g, new Rectangle2D.Double(0.0D, i*height, width, height));
+        }
+        g.finalize();
+
+        ImageIO.write(image, format, out);
+    }
+
+
     public static void exportSVG(
         OutputStream out,
         JFreeChart   chart,

http://dive4elements.wald.intevation.org