Mercurial > dive4elements > gnv-client
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,