Example usage for org.jfree.chart ChartRenderingInfo ChartRenderingInfo

List of usage examples for org.jfree.chart ChartRenderingInfo ChartRenderingInfo

Introduction

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

Prototype

public ChartRenderingInfo() 

Source Link

Document

Constructs a new ChartRenderingInfo structure that can be used to collect information about the dimensions of a rendered chart.

Usage

From source file:com.swordlord.gozer.components.generic.graph.ChartImage.java

/**
 * @return/*from w  ww .j  a  v  a 2 s  . c  o  m*/
 */
public BufferedImage createBufferedImage() {
    if (image == null) {
        renderingInfo = new ChartRenderingInfo();
        image = chart.createBufferedImage(width, height, renderingInfo);
    }
    return image;
}

From source file:com.manydesigns.portofino.pageactions.chart.jfreechart.JFreeChartInstance.java

public JFreeChartInstance(JFreeChart chart, File file, String mapId, String alt, int width, int height,
        String chartUrl) throws IOException {
    this.chart = chart;
    this.file = file;
    this.mapId = mapId;
    this.alt = alt;
    this.width = width;
    this.height = height;
    this.chartUrl = chartUrl;
    renderingInfo = new ChartRenderingInfo();
    ChartUtilities.saveChartAsPNG(file, chart, width, height, renderingInfo);
}

From source file:com.manydesigns.portofino.pageactions.chart.JFreeChartInstance.java

public JFreeChartInstance(JFreeChart chart, File file, String mapId, String alt, int width, int height,
        String chartUrl) throws IOException {
    this.chart = chart;
    this.file = file;
    this.mapId = mapId;
    this.alt = alt;
    this.width = width;
    this.height = height;
    this.chartUrl = chartUrl;
    renderingInfo = new ChartRenderingInfo();

    ChartUtilities.saveChartAsPNG(file, chart, width, height, renderingInfo);
}

From source file:de.bund.bfr.knime.pmm.common.chart.ChartUtilities.java

public static PNGImageContent convertToPNGImageContent(JFreeChart chart, int width, int height) {
    try {/*from  www .  j  a v a2s.  co  m*/
        BufferedImage img;

        if (chart != null) {
            ChartRenderingInfo info = new ChartRenderingInfo();

            img = chart.createBufferedImage(width, 5000, info);
            img = chart.createBufferedImage(width,
                    (int) (img.getHeight() - info.getPlotInfo().getDataArea().getHeight() + height));
        } else {
            img = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);
        }

        return new PNGImageContent(org.jfree.chart.ChartUtilities.encodeAsPNG(img));
    } catch (IOException e) {
        e.printStackTrace();
    }

    return null;
}

From source file:org.webguitoolkit.ui.controls.chart.Chart.java

/**
 * generate the image an send the url to the client
 *//*from   www  . ja va 2s .c o m*/
public void load() {
    HttpSession session = Page.getServletRequest().getSession(true);
    ChartRenderingInfo info = new ChartRenderingInfo();
    JFreeChart chart = getModel().getChart();
    if (chart == null)
        return; // happen for example in the init process

    try {
        String filename = ServletUtilities.saveChartAsPNG(chart, getWidth(), getHeight(), info, session);
        filename = URLEncoder.encode(filename, "UTF-8");
        String mapName = id4Map() + filename + ".name";
        String imagemap = ImageMapUtilities.getImageMap(mapName, info, new OverLIBToolTipTagFragmentGenerator(),
                null); // no urls   

        // transfer image map to clinet
        getContext().add(id4Map(), imagemap, IContext.TYPE_HTML, IContext.STATUS_NOT_EDITABLE);
        // the img-tag to use the map
        getContext().add(id4Img() + ".usemap", "#" + mapName, IContext.TYPE_ATT, IContext.STATUS_NOT_EDITABLE);
        // transfer src- atribute to client

        String imageUrl = "Chart/DisplayChart?filename=" + filename;
        getContext().add(id4Img() + ".src", imageUrl, IContext.TYPE_ATT, IContext.STATUS_NOT_EDITABLE);
    } catch (IOException e) {
        e.printStackTrace();
        throw new WGTException(e);
    }
}

From source file:msi.gama.outputs.layers.charts.ChartJFreeChartOutput.java

public ChartJFreeChartOutput(final IScope scope, final String name, final IExpression typeexp) {
    super(scope, name, typeexp);
    info = new ChartRenderingInfo();
}

From source file:org.pentaho.plugin.jfreereport.reportcharts.JFreeChartReportDrawable.java

public JFreeChartReportDrawable(final JFreeChart chart, final boolean collectRenderingInfo) {
    debugRendering = ClassicEngineBoot.getInstance().getExtendedConfig()
            .getBoolProperty("org.pentaho.plugin.jfreereport.reportcharts.DebugChartEntities");
    buggyDrawArea = ClassicEngineBoot.getInstance().getExtendedConfig()
            .getBoolProperty("org.pentaho.plugin.jfreereport.reportcharts.DrawAreaBug");
    this.chart = chart;
    if (collectRenderingInfo) {
        this.chartRenderingInfo = new ChartRenderingInfo();
    }//from  ww  w . jav  a 2  s  . c o  m
}

From source file:net.sf.jasperreports.charts.util.ChartUtil.java

/**
 * /*www.j a v  a  2s .co m*/
 */
public static List<JRPrintImageAreaHyperlink> getImageAreaHyperlinks(JFreeChart chart,
        ChartHyperlinkProvider chartHyperlinkProvider, Graphics2D grx, Rectangle2D renderingArea)// throws JRException
{
    List<JRPrintImageAreaHyperlink> areaHyperlinks = null;

    if (chartHyperlinkProvider != null && chartHyperlinkProvider.hasHyperlinks()) {
        ChartRenderingInfo renderingInfo = new ChartRenderingInfo();

        if (grx == null) {
            chart.createBufferedImage((int) renderingArea.getWidth(), (int) renderingArea.getHeight(),
                    renderingInfo);
        } else {
            chart.draw(grx, renderingArea, renderingInfo);
        }

        EntityCollection entityCollection = renderingInfo.getEntityCollection();
        if (entityCollection != null && entityCollection.getEntityCount() > 0) {
            areaHyperlinks = new ArrayList<JRPrintImageAreaHyperlink>(entityCollection.getEntityCount());

            for (@SuppressWarnings("unchecked")
            Iterator<ChartEntity> it = entityCollection.iterator(); it.hasNext();) {
                ChartEntity entity = it.next();
                JRPrintHyperlink printHyperlink = chartHyperlinkProvider.getEntityHyperlink(entity);
                if (printHyperlink != null) {
                    JRPrintImageArea area = getImageArea(entity);

                    JRPrintImageAreaHyperlink areaHyperlink = new JRPrintImageAreaHyperlink();
                    areaHyperlink.setArea(area);
                    areaHyperlink.setHyperlink(printHyperlink);
                    areaHyperlinks.add(areaHyperlink);
                }
            }
        }
    }

    return areaHyperlinks;
}

From source file:electroStaticUI.Save.java

/**
  * Save chart as SVG file.//from w  w w .j av a2s .  c o  m
  * Required libs: Apache Batik (batik-svggen.jar, batik-dom.jar, dom.jar).
  *
  * @param chart JFreeChart to save.
  * @param fileName Name of file to save chart in.
  * @param width Width of chart graphic.
  * @param height Height of chart graphic.
  * @return Final file name used.
  * @throws IOException if failed.
  * 
  * To Do: Add a save/open method for saving a file native to this application. It should save the users current charge distribution 
  * to be re-loaded at a later time.
  */

static public final String saveChartToSVG(final JFreeChart chart, String fileName, final int width,
        final int height) throws IOException {
    String result = null;

    if (chart != null) {
        if (fileName == null) {
            final String chartTitle = chart.getTitle().getText();
            if (chartTitle != null) {
                fileName = chartTitle;
            } else {
                fileName = "chart";
            }
        }
        result = fileName + ".svg";

        final DOMImplementation domImpl = GenericDOMImplementation.getDOMImplementation();
        final Document document = domImpl.createDocument(null, "svg", null);
        final SVGGraphics2D svgGenerator = new SVGGraphics2D(document);

        //            svgGenerator.getGeneratorContext().setEmbeddedFontsOn(true); //embed fonts

        //set anti-aliasing bug fix for SVG generator:
        //setting rendering hints of svgGenerator doesn't help as it seems to use the rendering hints from the chart
        final boolean antiAlias = chart.getAntiAlias();
        final RenderingHints rh = chart.getRenderingHints();

        if (antiAlias) {
            rh.put(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
            rh.put(RenderingHints.KEY_TEXT_ANTIALIASING, RenderingHints.VALUE_TEXT_ANTIALIAS_OFF); //fix
        } else {
            rh.put(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_OFF);
            rh.put(RenderingHints.KEY_TEXT_ANTIALIASING, RenderingHints.VALUE_TEXT_ANTIALIAS_ON); //fix
        }

        //            svgGenerator.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
        //            svgGenerator.setRenderingHint(RenderingHints.KEY_TEXT_ANTIALIASING, RenderingHints.VALUE_TEXT_ANTIALIAS_OFF);
        //            svgGenerator.setRenderingHint(RenderingHints.KEY_RENDERING, RenderingHints.VALUE_RENDER_QUALITY);
        //            svgGenerator.setRenderingHint(RenderingHints.KEY_COLOR_RENDERING, RenderingHints.VALUE_COLOR_RENDER_QUALITY);
        //            svgGenerator.setRenderingHint(RenderingHints.KEY_INTERPOLATION, RenderingHints.VALUE_INTERPOLATION_BILINEAR);
        //            svgGenerator.setRenderingHint(RenderingHints.KEY_ALPHA_INTERPOLATION, RenderingHints.VALUE_ALPHA_INTERPOLATION_QUALITY);

        chart.draw(svgGenerator, new Rectangle2D.Double(0, 0, width, height), new ChartRenderingInfo());

        //undo anti-aliasing bugfix settings for chart to use correct settings:
        if (antiAlias) {
            rh.put(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
            rh.put(RenderingHints.KEY_TEXT_ANTIALIASING, RenderingHints.VALUE_TEXT_ANTIALIAS_ON);
        } else {
            rh.put(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_OFF);
            rh.put(RenderingHints.KEY_TEXT_ANTIALIASING, RenderingHints.VALUE_TEXT_ANTIALIAS_OFF);
        }

        final boolean useCSS = true;
        Writer out = null;
        try {
            out = new OutputStreamWriter(
                    new BufferedOutputStream(new FileOutputStream(new File(result), false)), "iso-8859-1"); //UTF-8
            svgGenerator.stream(out, useCSS);
        } finally {
            svgGenerator.dispose();
            IOUtils.closeQuietly(out);
        }
    } //else: input unavailable

    return result;
}

From source file:org.adempiere.webui.editor.WChartEditor.java

private void render(JFreeChart chart) {
    ChartRenderingInfo info = new ChartRenderingInfo();
    int width = 400;
    int height = chartModel.getWinHeight();
    BufferedImage bi = chart.createBufferedImage(width, height, BufferedImage.TRANSLUCENT, info);
    try {//from  w w  w  .  ja va2 s.c  o  m
        byte[] bytes = EncoderUtil.encode(bi, ImageFormat.PNG, true);

        AImage image = new AImage("", bytes);
        Imagemap myImage = new Imagemap();

        Panel panel = getComponent();
        myImage.setContent(image);
        if (panel.getPanelchildren() != null) {
            panel.getPanelchildren().getChildren().clear();
            panel.getPanelchildren().appendChild(myImage);
        } else {
            Panelchildren pc = new Panelchildren();
            panel.appendChild(pc);
            pc.appendChild(myImage);
        }

        int count = 0;
        for (Iterator<?> it = info.getEntityCollection().getEntities().iterator(); it.hasNext();) {
            ChartEntity entity = (ChartEntity) it.next();

            String key = null;
            String seriesName = null;
            if (entity instanceof CategoryItemEntity) {
                CategoryItemEntity item = ((CategoryItemEntity) entity);
                Comparable<?> colKey = item.getColumnKey();
                Comparable<?> rowKey = item.getRowKey();
                if (colKey != null && rowKey != null) {
                    key = colKey.toString();
                    seriesName = rowKey.toString();
                }
            } else if (entity instanceof PieSectionEntity) {
                Comparable<?> sectionKey = ((PieSectionEntity) entity).getSectionKey();
                if (sectionKey != null) {
                    key = sectionKey.toString();
                }
            }
            if (entity instanceof XYItemEntity) {
                XYItemEntity item = ((XYItemEntity) entity);
                if (item.getDataset() instanceof TimeSeriesCollection) {
                    TimeSeriesCollection data = (TimeSeriesCollection) item.getDataset();
                    TimeSeries series = data.getSeries(item.getSeriesIndex());
                    TimeSeriesDataItem dataitem = series.getDataItem(item.getItem());
                    seriesName = series.getKey().toString();
                    key = dataitem.getPeriod().toString();
                }
            }

            if (key == null)
                continue;

            Area area = new Area();
            myImage.appendChild(area);
            area.setCoords(entity.getShapeCoords());
            area.setShape(entity.getShapeType());
            area.setTooltiptext(entity.getToolTipText());
            area.setId(count + "_WG__" + seriesName + "__" + key);
            count++;
        }

        myImage.addEventListener(Events.ON_CLICK, new EventListener() {
            public void onEvent(Event event) throws Exception {
                MouseEvent me = (MouseEvent) event;
                String areaId = me.getArea();
                if (areaId != null) {
                    String[] strs = areaId.split("__");
                    if (strs.length == 3) {
                        chartMouseClicked(strs[2], strs[1]);
                    }
                }
            }
        });
    } catch (Exception e) {
        log.log(Level.SEVERE, "", e);
    }

}