Example usage for org.jfree.chart JFreeChart createBufferedImage

List of usage examples for org.jfree.chart JFreeChart createBufferedImage

Introduction

In this page you can find the example usage for org.jfree.chart JFreeChart createBufferedImage.

Prototype

public BufferedImage createBufferedImage(int width, int height) 

Source Link

Document

Creates and returns a buffered image into which the chart has been drawn.

Usage

From source file:org.javarebel.chart.ChartComponentListener.java

@Override
public void beforePhase(PhaseEvent arg0) {
    FacesContext context = arg0.getFacesContext();
    ExternalContext eCtx = context.getExternalContext();

    HttpServletRequest req = (HttpServletRequest) eCtx.getRequest();
    String data_KEY = req.getParameter("data_KEY");
    logger.info("Chart Data Key is " + data_KEY);

    HttpSession session = req.getSession();
    if (data_KEY != null) {
        Object chartData = session.getAttribute(data_KEY);

        if (chartData != null) {

            ChartData data = ChartData.class.cast(chartData);
            logger.info("Chart Type received is " + data.getType());
            IChartGenerator chartGen = ChartGeneratorFactory.getChartGenerator(data.getType());
            logger.info("ChartGenerator in use -> " + chartGen.getClass().getName());
            JFreeChart chart = chartGen.generateChart(data);

            BufferedImage img = chart.createBufferedImage(Integer.valueOf(data.getWidth()),
                    Integer.valueOf(data.getHeight()));
            try {
                HttpServletResponse response = (HttpServletResponse) eCtx.getResponse();
                response.setContentType("image/png");
                response.setHeader("Cache-Control", "no-store");
                response.setHeader("Pragma", "no-cache");
                response.setDateHeader("Expires", 0L);

                ServletOutputStream output = response.getOutputStream();
                ImageIO.write(img, "png", output);

                session.removeAttribute(data_KEY);

                context.responseComplete();
            } catch (Exception e) {
                logger.log(Level.SEVERE, e.getMessage(), e);
                throw new IllegalStateException(e);
            }/*w w w. j  a v a2 s. c o  m*/
        }
    }
}

From source file:user.CreateChart.java

private ImageIcon XYChart(XYSeriesCollection dataset, String name, String X, String Y) {

    JFreeChart chart = ChartFactory.createXYLineChart(name, X, Y, dataset, PlotOrientation.VERTICAL, true, true,
            false);/*  w w w.jav a  2s.co  m*/

    ImageIcon ii = new ImageIcon(chart.createBufferedImage(592, 500));
    return ii;
}

From source file:user.NewJPanel3.java

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton1ActionPerformed

    NewJPanel2.setConnection(connectToDatabase());
    if (con != null) {

        NewJPanel2 np = new NewJPanel2();

        JFrame jFrame = new JFrame();
        jFrame.setSize(625, 600);/*from w ww.  ja  va  2s.  c o m*/
        jFrame.add(np, BorderLayout.CENTER);
        jFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        jFrame.setVisible(true);
        CreateChart cc = new CreateChart();
        JFreeChart chart = cc.createChart();

        Image img = chart.createBufferedImage(592, 500);

        Icon icon = new ImageIcon(img);
        NewJPanel2.setChartLabel(icon);
        dit.hide();
    }
}

From source file:org.ow2.clif.jenkins.chart.AbstractChart.java

public void createChart(File rootDir) {
    JFreeChart chart = createChart();

    File imageFile = getImageFile(rootDir);
    BufferedImage bImage = chart.createBufferedImage(this.chartConfiguration.getChartWidth(),
            this.chartConfiguration.getChartHeight());
    saveImageFile(imageFile, bImage);/*from   w  ww  . j a va  2 s.c om*/

}

From source file:com.spotify.heroic.http.render.RenderResource.java

@SuppressWarnings("unchecked")
@GET//  ww  w.  j av  a 2  s .c  o m
@Path("image")
@Produces("image/png")
public Response render(@QueryParam("q") String queryString, @QueryParam("backend") String backendGroup,
        @QueryParam("title") String title, @QueryParam("width") Integer width,
        @QueryParam("height") Integer height, @QueryParam("highlight") String highlightRaw,
        @QueryParam("threshold") Double threshold) throws Exception {
    if (query == null) {
        throw new BadRequestException("'query' must be defined");
    }

    if (width == null) {
        width = DEFAULT_WIDTH;
    }

    if (height == null) {
        height = DEFAULT_HEIGHT;
    }

    final Map<String, String> highlight;

    if (highlightRaw != null) {
        highlight = mapper.readValue(highlightRaw, Map.class);
    } else {
        highlight = null;
    }

    final QueryContext queryContext = QueryContext.empty();
    final Query q = query.newQueryFromString(queryString).build();

    final QueryResult result = this.query.useGroup(backendGroup).query(q, queryContext).get();

    final JFreeChart chart = RenderUtils.createChart(result.getGroups(), title, highlight, threshold, height);

    final BufferedImage image = chart.createBufferedImage(width, height);

    final ByteArrayOutputStream buffer = new ByteArrayOutputStream();
    ImageIO.write(image, "png", buffer);

    return Response.ok(buffer.toByteArray()).build();
}

From source file:org.jgrasstools.gears.utils.chart.Scatter.java

public BufferedImage getImage(int width, int height) {
    JFreeChart chart = getChart();
    BufferedImage bufferedImage = chart.createBufferedImage(width, height);
    return bufferedImage;
}

From source file:br.upe.ecomp.dosa.controller.chart.FileLineChartManager.java

private Panel createContents(double[] values, boolean logarithmicYAxis, String measurement, int step,
        File file) {//from  w w w . j a v  a 2s  .  c  o  m
    Panel chartPanel = new Panel();

    chartPanel.setLayout(new java.awt.GridLayout(1, 1));

    JFreeChart chart = createChart("", "Sample", "Fitness", createSampleDataset(values, measurement, step),
            false);

    ImageSaver.saveImage(chart.createBufferedImage(1000, 800), file.getParent(), "graph.png");

    ChartPanel jFreeChartPanel = new ChartPanel(chart);
    chartPanel.add(jFreeChartPanel);

    return chartPanel;
}

From source file:gui.statistics.PieChartTest.java

/**
 * Creates new form PieChartTest/*w  ww  .ja  v  a 2  s.  c o  m*/
 */
public PieChartTest(java.awt.Frame parent, boolean modal) {
    super(parent, modal);
    initComponents();
    Date a = new Date(2014 - 1900, 11, 1);
    Date b = new Date(2014 - 1900, 11, 31);
    DefaultPieDataset data = new DefaultPieDataset();
    HashMap<String, BigDecimal> map = Database.getInstance().getTotalExpensesByCategory(a, b);

    for (String key : map.keySet()) {
        data.setValue(key, map.get(key).doubleValue());
    }

    JFreeChart pieChart = ChartFactory.createPieChart("PIE CHART", data, true, false, Locale.GERMAN);
    PiePlot plot = (PiePlot) pieChart.getPlot();
    plot.setLabelGenerator(null);

    BufferedImage pie = pieChart.createBufferedImage(500, 400);
    setSize(600, 500);
    jLabel1.setIcon(new ImageIcon(pie));
}

From source file:org.geoserver.monitor.web.OWSSummaryChartBasePanel.java

public OWSSummaryChartBasePanel(String id, Monitor monitor, String owsService) {
    super(id);//from w w  w.j  av  a  2s .co m

    this.owsService = owsService;

    Map<String, Integer> data = gatherData(monitor);

    DefaultPieDataset dataset = new DefaultPieDataset();
    for (Map.Entry<String, Integer> e : data.entrySet()) {
        dataset.setValue(e.getKey(), e.getValue());
    }

    JFreeChart chart = ChartFactory.createPieChart(getChartTitle(), dataset, true, true, false);
    chart.setBackgroundPaint(Color.WHITE);

    BufferedDynamicImageResource resource = new BufferedDynamicImageResource();
    resource.setImage(chart.createBufferedImage(650, 500));

    add(new NonCachingImage("chart", resource));

}

From source file:nextapp.echo2.chart.webcontainer.ChartImageService.java

/**
 * @see nextapp.echo2.webrender.Service#service(nextapp.echo2.webrender.Connection)
 *///from w w w.j  av  a2  s  . co  m
public void service(Connection conn) throws IOException {
    try {
        ContainerInstance containerInstance = (ContainerInstance) conn.getUserInstance();
        HttpServletRequest request = conn.getRequest();
        String chartId = request.getParameter("chartId");
        ChartDisplay chartDisplay = (ChartDisplay) containerInstance.getApplicationInstance()
                .getComponentByRenderId(chartId);
        synchronized (chartDisplay) {
            if (chartDisplay == null || !chartDisplay.isRenderVisible()) {
                throw new IllegalArgumentException("Invalid chart id.");
            }

            int width = ExtentRender.toPixels(
                    (Extent) chartDisplay.getRenderProperty(ChartDisplay.PROPERTY_WIDTH),
                    ChartDisplayPeer.DEFAULT_WIDTH);
            int height = ExtentRender.toPixels(
                    (Extent) chartDisplay.getRenderProperty(ChartDisplay.PROPERTY_HEIGHT),
                    ChartDisplayPeer.DEFAULT_HEIGHT);
            JFreeChart chart = chartDisplay.getChart();
            BufferedImage image;
            synchronized (chart) {
                image = chart.createBufferedImage(width, height);
            }
            PngEncoder encoder = new PngEncoder(image, true, null, 3);
            conn.setContentType(ContentType.IMAGE_PNG);
            OutputStream out = conn.getOutputStream();
            encoder.encode(out);
        }
    } catch (IOException ex) {
        // Internet Explorer appears to enjoy making half-hearted requests for images, wherein it resets the connection
        // leaving us with an IOException.  This exception is silently eaten.
        ex.printStackTrace();
    }
}