Class ChartUtilities


  • public abstract class ChartUtilities
    extends Object
    A collection of utility methods for JFreeChart. Includes methods for converting charts to image formats (PNG and JPEG) plus creating simple HTML image maps.
    See Also:
    ImageMapUtilities
    • Constructor Detail

      • ChartUtilities

        public ChartUtilities()
    • Method Detail

      • applyCurrentTheme

        public static void applyCurrentTheme​(JFreeChart chart)
        Applies the current theme to the specified chart. This method is provided for convenience, the theme itself is stored in the ChartFactory class.
        Parameters:
        chart - the chart (null not permitted).
        Since:
        1.0.11
      • writeChartAsPNG

        public static void writeChartAsPNG​(OutputStream out,
                                           JFreeChart chart,
                                           int width,
                                           int height)
                                    throws IOException
        Writes a chart to an output stream in PNG format.
        Parameters:
        out - the output stream (null not permitted).
        chart - the chart (null not permitted).
        width - the image width.
        height - the image height.
        Throws:
        IOException - if there are any I/O errors.
      • writeChartAsPNG

        public static void writeChartAsPNG​(OutputStream out,
                                           JFreeChart chart,
                                           int width,
                                           int height,
                                           boolean encodeAlpha,
                                           int compression)
                                    throws IOException
        Writes a chart to an output stream in PNG format.
        Parameters:
        out - the output stream (null not permitted).
        chart - the chart (null not permitted).
        width - the image width.
        height - the image height.
        encodeAlpha - encode alpha?
        compression - the compression level (0-9).
        Throws:
        IOException - if there are any I/O errors.
      • writeChartAsPNG

        public static void writeChartAsPNG​(OutputStream out,
                                           JFreeChart chart,
                                           int width,
                                           int height,
                                           ChartRenderingInfo info)
                                    throws IOException
        Writes a chart to an output stream in PNG format. This method allows you to pass in a ChartRenderingInfo object, to collect information about the chart dimensions/entities. You will need this info if you want to create an HTML image map.
        Parameters:
        out - the output stream (null not permitted).
        chart - the chart (null not permitted).
        width - the image width.
        height - the image height.
        info - the chart rendering info (null permitted).
        Throws:
        IOException - if there are any I/O errors.
      • writeChartAsPNG

        public static void writeChartAsPNG​(OutputStream out,
                                           JFreeChart chart,
                                           int width,
                                           int height,
                                           ChartRenderingInfo info,
                                           boolean encodeAlpha,
                                           int compression)
                                    throws IOException
        Writes a chart to an output stream in PNG format. This method allows you to pass in a ChartRenderingInfo object, to collect information about the chart dimensions/entities. You will need this info if you want to create an HTML image map.
        Parameters:
        out - the output stream (null not permitted).
        chart - the chart (null not permitted).
        width - the image width.
        height - the image height.
        info - carries back chart rendering info (null permitted).
        encodeAlpha - encode alpha?
        compression - the PNG compression level (0-9).
        Throws:
        IOException - if there are any I/O errors.
      • writeScaledChartAsPNG

        public static void writeScaledChartAsPNG​(OutputStream out,
                                                 JFreeChart chart,
                                                 int width,
                                                 int height,
                                                 int widthScaleFactor,
                                                 int heightScaleFactor)
                                          throws IOException
        Writes a scaled version of a chart to an output stream in PNG format.
        Parameters:
        out - the output stream (null not permitted).
        chart - the chart (null not permitted).
        width - the unscaled chart width.
        height - the unscaled chart height.
        widthScaleFactor - the horizontal scale factor.
        heightScaleFactor - the vertical scale factor.
        Throws:
        IOException - if there are any I/O problems.
      • saveChartAsPNG

        public static void saveChartAsPNG​(File file,
                                          JFreeChart chart,
                                          int width,
                                          int height)
                                   throws IOException
        Saves a chart to the specified file in PNG format.
        Parameters:
        file - the file name (null not permitted).
        chart - the chart (null not permitted).
        width - the image width.
        height - the image height.
        Throws:
        IOException - if there are any I/O errors.
      • saveChartAsPNG

        public static void saveChartAsPNG​(File file,
                                          JFreeChart chart,
                                          int width,
                                          int height,
                                          ChartRenderingInfo info)
                                   throws IOException
        Saves a chart to a file in PNG format. This method allows you to pass in a ChartRenderingInfo object, to collect information about the chart dimensions/entities. You will need this info if you want to create an HTML image map.
        Parameters:
        file - the file (null not permitted).
        chart - the chart (null not permitted).
        width - the image width.
        height - the image height.
        info - the chart rendering info (null permitted).
        Throws:
        IOException - if there are any I/O errors.
      • saveChartAsPNG

        public static void saveChartAsPNG​(File file,
                                          JFreeChart chart,
                                          int width,
                                          int height,
                                          ChartRenderingInfo info,
                                          boolean encodeAlpha,
                                          int compression)
                                   throws IOException
        Saves a chart to a file in PNG format. This method allows you to pass in a ChartRenderingInfo object, to collect information about the chart dimensions/entities. You will need this info if you want to create an HTML image map.
        Parameters:
        file - the file (null not permitted).
        chart - the chart (null not permitted).
        width - the image width.
        height - the image height.
        info - the chart rendering info (null permitted).
        encodeAlpha - encode alpha?
        compression - the PNG compression level (0-9).
        Throws:
        IOException - if there are any I/O errors.
      • writeChartAsJPEG

        public static void writeChartAsJPEG​(OutputStream out,
                                            JFreeChart chart,
                                            int width,
                                            int height)
                                     throws IOException
        Writes a chart to an output stream in JPEG format. Please note that JPEG is a poor format for chart images, use PNG if possible.
        Parameters:
        out - the output stream (null not permitted).
        chart - the chart (null not permitted).
        width - the image width.
        height - the image height.
        Throws:
        IOException - if there are any I/O errors.
      • writeChartAsJPEG

        public static void writeChartAsJPEG​(OutputStream out,
                                            float quality,
                                            JFreeChart chart,
                                            int width,
                                            int height)
                                     throws IOException
        Writes a chart to an output stream in JPEG format. Please note that JPEG is a poor format for chart images, use PNG if possible.
        Parameters:
        out - the output stream (null not permitted).
        quality - the quality setting.
        chart - the chart (null not permitted).
        width - the image width.
        height - the image height.
        Throws:
        IOException - if there are any I/O errors.
      • writeChartAsJPEG

        public static void writeChartAsJPEG​(OutputStream out,
                                            JFreeChart chart,
                                            int width,
                                            int height,
                                            ChartRenderingInfo info)
                                     throws IOException
        Writes a chart to an output stream in JPEG format. This method allows you to pass in a ChartRenderingInfo object, to collect information about the chart dimensions/entities. You will need this info if you want to create an HTML image map.
        Parameters:
        out - the output stream (null not permitted).
        chart - the chart (null not permitted).
        width - the image width.
        height - the image height.
        info - the chart rendering info (null permitted).
        Throws:
        IOException - if there are any I/O errors.
      • writeChartAsJPEG

        public static void writeChartAsJPEG​(OutputStream out,
                                            float quality,
                                            JFreeChart chart,
                                            int width,
                                            int height,
                                            ChartRenderingInfo info)
                                     throws IOException
        Writes a chart to an output stream in JPEG format. This method allows you to pass in a ChartRenderingInfo object, to collect information about the chart dimensions/entities. You will need this info if you want to create an HTML image map.
        Parameters:
        out - the output stream (null not permitted).
        quality - the output quality (0.0f to 1.0f).
        chart - the chart (null not permitted).
        width - the image width.
        height - the image height.
        info - the chart rendering info (null permitted).
        Throws:
        IOException - if there are any I/O errors.
      • saveChartAsJPEG

        public static void saveChartAsJPEG​(File file,
                                           JFreeChart chart,
                                           int width,
                                           int height)
                                    throws IOException
        Saves a chart to a file in JPEG format.
        Parameters:
        file - the file (null not permitted).
        chart - the chart (null not permitted).
        width - the image width.
        height - the image height.
        Throws:
        IOException - if there are any I/O errors.
      • saveChartAsJPEG

        public static void saveChartAsJPEG​(File file,
                                           float quality,
                                           JFreeChart chart,
                                           int width,
                                           int height)
                                    throws IOException
        Saves a chart to a file in JPEG format.
        Parameters:
        file - the file (null not permitted).
        quality - the JPEG quality setting.
        chart - the chart (null not permitted).
        width - the image width.
        height - the image height.
        Throws:
        IOException - if there are any I/O errors.
      • saveChartAsJPEG

        public static void saveChartAsJPEG​(File file,
                                           JFreeChart chart,
                                           int width,
                                           int height,
                                           ChartRenderingInfo info)
                                    throws IOException
        Saves a chart to a file in JPEG format. This method allows you to pass in a ChartRenderingInfo object, to collect information about the chart dimensions/entities. You will need this info if you want to create an HTML image map.
        Parameters:
        file - the file name (null not permitted).
        chart - the chart (null not permitted).
        width - the image width.
        height - the image height.
        info - the chart rendering info (null permitted).
        Throws:
        IOException - if there are any I/O errors.
      • saveChartAsJPEG

        public static void saveChartAsJPEG​(File file,
                                           float quality,
                                           JFreeChart chart,
                                           int width,
                                           int height,
                                           ChartRenderingInfo info)
                                    throws IOException
        Saves a chart to a file in JPEG format. This method allows you to pass in a ChartRenderingInfo object, to collect information about the chart dimensions/entities. You will need this info if you want to create an HTML image map.
        Parameters:
        file - the file name (null not permitted).
        quality - the quality setting.
        chart - the chart (null not permitted).
        width - the image width.
        height - the image height.
        info - the chart rendering info (null permitted).
        Throws:
        IOException - if there are any I/O errors.
      • writeBufferedImageAsJPEG

        public static void writeBufferedImageAsJPEG​(OutputStream out,
                                                    BufferedImage image)
                                             throws IOException
        Writes a BufferedImage to an output stream in JPEG format.
        Parameters:
        out - the output stream (null not permitted).
        image - the image (null not permitted).
        Throws:
        IOException - if there are any I/O errors.
      • writeBufferedImageAsJPEG

        public static void writeBufferedImageAsJPEG​(OutputStream out,
                                                    float quality,
                                                    BufferedImage image)
                                             throws IOException
        Writes a BufferedImage to an output stream in JPEG format.
        Parameters:
        out - the output stream (null not permitted).
        quality - the image quality (0.0f to 1.0f).
        image - the image (null not permitted).
        Throws:
        IOException - if there are any I/O errors.
      • writeBufferedImageAsPNG

        public static void writeBufferedImageAsPNG​(OutputStream out,
                                                   BufferedImage image)
                                            throws IOException
        Writes a BufferedImage to an output stream in PNG format.
        Parameters:
        out - the output stream (null not permitted).
        image - the image (null not permitted).
        Throws:
        IOException - if there are any I/O errors.
      • writeBufferedImageAsPNG

        public static void writeBufferedImageAsPNG​(OutputStream out,
                                                   BufferedImage image,
                                                   boolean encodeAlpha,
                                                   int compression)
                                            throws IOException
        Writes a BufferedImage to an output stream in PNG format.
        Parameters:
        out - the output stream (null not permitted).
        image - the image (null not permitted).
        encodeAlpha - encode alpha?
        compression - the compression level (0-9).
        Throws:
        IOException - if there are any I/O errors.
      • encodeAsPNG

        public static byte[] encodeAsPNG​(BufferedImage image)
                                  throws IOException
        Encodes a BufferedImage to PNG format.
        Parameters:
        image - the image (null not permitted).
        Returns:
        A byte array in PNG format.
        Throws:
        IOException - if there is an I/O problem.
      • encodeAsPNG

        public static byte[] encodeAsPNG​(BufferedImage image,
                                         boolean encodeAlpha,
                                         int compression)
                                  throws IOException
        Encodes a BufferedImage to PNG format.
        Parameters:
        image - the image (null not permitted).
        encodeAlpha - encode alpha?
        compression - the PNG compression level (0-9).
        Returns:
        The byte array in PNG format.
        Throws:
        IOException - if there is an I/O problem.
      • writeImageMap

        public static void writeImageMap​(PrintWriter writer,
                                         String name,
                                         ChartRenderingInfo info,
                                         boolean useOverLibForToolTips)
                                  throws IOException
        Writes an image map to an output stream.
        Parameters:
        writer - the writer (null not permitted).
        name - the map name (null not permitted).
        info - the chart rendering info (null not permitted).
        useOverLibForToolTips - whether to use OverLIB for tooltips (http://www.bosrup.com/web/overlib/).
        Throws:
        IOException - if there are any I/O errors.
      • writeImageMap

        public static void writeImageMap​(PrintWriter writer,
                                         String name,
                                         ChartRenderingInfo info,
                                         ToolTipTagFragmentGenerator toolTipTagFragmentGenerator,
                                         URLTagFragmentGenerator urlTagFragmentGenerator)
                                  throws IOException
        Writes an image map to the specified writer.
        Parameters:
        writer - the writer (null not permitted).
        name - the map name (null not permitted).
        info - the chart rendering info (null not permitted).
        toolTipTagFragmentGenerator - a generator for the HTML fragment that will contain the tooltip text (null not permitted if info contains tooltip information).
        urlTagFragmentGenerator - a generator for the HTML fragment that will contain the URL reference (null not permitted if info contains URLs).
        Throws:
        IOException - if there are any I/O errors.