org.jfree.chart

## Class ChartUtilities

- java.lang.Object
- - org.jfree.chart.ChartUtilities

-     public abstract class ChartUtilities
      extends java.lang.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 Summary

    Constructors
    Constructor and Description
    `ChartUtilities()`

  - ### Method Summary

    All Methods Static Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `static void` | `applyCurrentTheme(JFreeChart chart)` Applies the current theme to the specified chart.
    `static byte[]` | `encodeAsPNG(java.awt.image.BufferedImage image)` Encodes a `BufferedImage` to PNG format.
    `static byte[]` | `encodeAsPNG(java.awt.image.BufferedImage image, boolean encodeAlpha, int compression)` Encodes a `BufferedImage` to PNG format.
    `static java.lang.String` | `getImageMap(java.lang.String name, ChartRenderingInfo info)` Creates an HTML image map.
    `static java.lang.String` | `getImageMap(java.lang.String name, ChartRenderingInfo info, ToolTipTagFragmentGenerator toolTipTagFragmentGenerator, URLTagFragmentGenerator urlTagFragmentGenerator)` Creates an HTML image map.
    `static void` | `saveChartAsJPEG(java.io.File file, float quality, JFreeChart chart, int width, int height)` Saves a chart to a file in JPEG format.
    `static void` | `saveChartAsJPEG(java.io.File file, float quality, JFreeChart chart, int width, int height, ChartRenderingInfo info)` Saves a chart to a file in JPEG format.
    `static void` | `saveChartAsJPEG(java.io.File file, JFreeChart chart, int width, int height)` Saves a chart to a file in JPEG format.
    `static void` | `saveChartAsJPEG(java.io.File file, JFreeChart chart, int width, int height, ChartRenderingInfo info)` Saves a chart to a file in JPEG format.
    `static void` | `saveChartAsPNG(java.io.File file, JFreeChart chart, int width, int height)` Saves a chart to the specified file in PNG format.
    `static void` | `saveChartAsPNG(java.io.File file, JFreeChart chart, int width, int height, ChartRenderingInfo info)` Saves a chart to a file in PNG format.
    `static void` | `saveChartAsPNG(java.io.File file, JFreeChart chart, int width, int height, ChartRenderingInfo info, boolean encodeAlpha, int compression)` Saves a chart to a file in PNG format.
    `static void` | `writeBufferedImageAsJPEG(java.io.OutputStream out, java.awt.image.BufferedImage image)` Writes a `BufferedImage` to an output stream in JPEG format.
    `static void` | `writeBufferedImageAsJPEG(java.io.OutputStream out, float quality, java.awt.image.BufferedImage image)` Writes a `BufferedImage` to an output stream in JPEG format.
    `static void` | `writeBufferedImageAsPNG(java.io.OutputStream out, java.awt.image.BufferedImage image)` Writes a `BufferedImage` to an output stream in PNG format.
    `static void` | `writeBufferedImageAsPNG(java.io.OutputStream out, java.awt.image.BufferedImage image, boolean encodeAlpha, int compression)` Writes a `BufferedImage` to an output stream in PNG format.
    `static void` | `writeChartAsJPEG(java.io.OutputStream out, float quality, JFreeChart chart, int width, int height)` Writes a chart to an output stream in JPEG format.
    `static void` | `writeChartAsJPEG(java.io.OutputStream out, float quality, JFreeChart chart, int width, int height, ChartRenderingInfo info)` Writes a chart to an output stream in JPEG format.
    `static void` | `writeChartAsJPEG(java.io.OutputStream out, JFreeChart chart, int width, int height)` Writes a chart to an output stream in JPEG format.
    `static void` | `writeChartAsJPEG(java.io.OutputStream out, JFreeChart chart, int width, int height, ChartRenderingInfo info)` Writes a chart to an output stream in JPEG format.
    `static void` | `writeChartAsPNG(java.io.OutputStream out, JFreeChart chart, int width, int height)` Writes a chart to an output stream in PNG format.
    `static void` | `writeChartAsPNG(java.io.OutputStream out, JFreeChart chart, int width, int height, boolean encodeAlpha, int compression)` Writes a chart to an output stream in PNG format.
    `static void` | `writeChartAsPNG(java.io.OutputStream out, JFreeChart chart, int width, int height, ChartRenderingInfo info)` Writes a chart to an output stream in PNG format.
    `static void` | `writeChartAsPNG(java.io.OutputStream out, JFreeChart chart, int width, int height, ChartRenderingInfo info, boolean encodeAlpha, int compression)` Writes a chart to an output stream in PNG format.
    `static void` | `writeImageMap(java.io.PrintWriter writer, java.lang.String name, ChartRenderingInfo info, boolean useOverLibForToolTips)` Writes an image map to an output stream.
    `static void` | `writeImageMap(java.io.PrintWriter writer, java.lang.String name, ChartRenderingInfo info, ToolTipTagFragmentGenerator toolTipTagFragmentGenerator, URLTagFragmentGenerator urlTagFragmentGenerator)` Writes an image map to the specified writer.
    `static void` | `writeScaledChartAsPNG(java.io.OutputStream out, JFreeChart chart, int width, int height, int widthScaleFactor, int heightScaleFactor)` Writes a scaled version of a chart to an output stream in PNG format.

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### 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(java.io.OutputStream out,
                                             JFreeChart chart,
                                             int width,
                                             int height)
                                      throws java.io.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:
        `java.io.IOException` - if there are any I/O errors.

    - #### writeChartAsPNG

          public static void writeChartAsPNG(java.io.OutputStream out,
                                             JFreeChart chart,
                                             int width,
                                             int height,
                                             boolean encodeAlpha,
                                             int compression)
                                      throws java.io.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:
        `java.io.IOException` - if there are any I/O errors.

    - #### writeChartAsPNG

          public static void writeChartAsPNG(java.io.OutputStream out,
                                             JFreeChart chart,
                                             int width,
                                             int height,
                                             ChartRenderingInfo info)
                                      throws java.io.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:
        `java.io.IOException` - if there are any I/O errors.

    - #### writeChartAsPNG

          public static void writeChartAsPNG(java.io.OutputStream out,
                                             JFreeChart chart,
                                             int width,
                                             int height,
                                             ChartRenderingInfo info,
                                             boolean encodeAlpha,
                                             int compression)
                                      throws java.io.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:
        `java.io.IOException` - if there are any I/O errors.

    - #### writeScaledChartAsPNG

          public static void writeScaledChartAsPNG(java.io.OutputStream out,
                                                   JFreeChart chart,
                                                   int width,
                                                   int height,
                                                   int widthScaleFactor,
                                                   int heightScaleFactor)
                                            throws java.io.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:
        `java.io.IOException` - if there are any I/O problems.

    - #### saveChartAsPNG

          public static void saveChartAsPNG(java.io.File file,
                                            JFreeChart chart,
                                            int width,
                                            int height)
                                     throws java.io.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:
        `java.io.IOException` - if there are any I/O errors.

    - #### saveChartAsPNG

          public static void saveChartAsPNG(java.io.File file,
                                            JFreeChart chart,
                                            int width,
                                            int height,
                                            ChartRenderingInfo info)
                                     throws java.io.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:
        `java.io.IOException` - if there are any I/O errors.

    - #### saveChartAsPNG

          public static void saveChartAsPNG(java.io.File file,
                                            JFreeChart chart,
                                            int width,
                                            int height,
                                            ChartRenderingInfo info,
                                            boolean encodeAlpha,
                                            int compression)
                                     throws java.io.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:
        `java.io.IOException` - if there are any I/O errors.

    - #### writeChartAsJPEG

          public static void writeChartAsJPEG(java.io.OutputStream out,
                                              JFreeChart chart,
                                              int width,
                                              int height)
                                       throws java.io.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:
        `java.io.IOException` - if there are any I/O errors.

    - #### writeChartAsJPEG

          public static void writeChartAsJPEG(java.io.OutputStream out,
                                              float quality,
                                              JFreeChart chart,
                                              int width,
                                              int height)
                                       throws java.io.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:
        `java.io.IOException` - if there are any I/O errors.

    - #### writeChartAsJPEG

          public static void writeChartAsJPEG(java.io.OutputStream out,
                                              JFreeChart chart,
                                              int width,
                                              int height,
                                              ChartRenderingInfo info)
                                       throws java.io.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:
        `java.io.IOException` - if there are any I/O errors.

    - #### writeChartAsJPEG

          public static void writeChartAsJPEG(java.io.OutputStream out,
                                              float quality,
                                              JFreeChart chart,
                                              int width,
                                              int height,
                                              ChartRenderingInfo info)
                                       throws java.io.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:
        `java.io.IOException` - if there are any I/O errors.

    - #### saveChartAsJPEG

          public static void saveChartAsJPEG(java.io.File file,
                                             JFreeChart chart,
                                             int width,
                                             int height)
                                      throws java.io.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:
        `java.io.IOException` - if there are any I/O errors.

    - #### saveChartAsJPEG

          public static void saveChartAsJPEG(java.io.File file,
                                             float quality,
                                             JFreeChart chart,
                                             int width,
                                             int height)
                                      throws java.io.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:
        `java.io.IOException` - if there are any I/O errors.

    - #### saveChartAsJPEG

          public static void saveChartAsJPEG(java.io.File file,
                                             JFreeChart chart,
                                             int width,
                                             int height,
                                             ChartRenderingInfo info)
                                      throws java.io.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:
        `java.io.IOException` - if there are any I/O errors.

    - #### saveChartAsJPEG

          public static void saveChartAsJPEG(java.io.File file,
                                             float quality,
                                             JFreeChart chart,
                                             int width,
                                             int height,
                                             ChartRenderingInfo info)
                                      throws java.io.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:
        `java.io.IOException` - if there are any I/O errors.

    - #### writeBufferedImageAsJPEG

          public static void writeBufferedImageAsJPEG(java.io.OutputStream out,
                                                      java.awt.image.BufferedImage image)
                                               throws java.io.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:
        `java.io.IOException` - if there are any I/O errors.

    - #### writeBufferedImageAsJPEG

          public static void writeBufferedImageAsJPEG(java.io.OutputStream out,
                                                      float quality,
                                                      java.awt.image.BufferedImage image)
                                               throws java.io.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:
        `java.io.IOException` - if there are any I/O errors.

    - #### writeBufferedImageAsPNG

          public static void writeBufferedImageAsPNG(java.io.OutputStream out,
                                                     java.awt.image.BufferedImage image)
                                              throws java.io.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:
        `java.io.IOException` - if there are any I/O errors.

    - #### writeBufferedImageAsPNG

          public static void writeBufferedImageAsPNG(java.io.OutputStream out,
                                                     java.awt.image.BufferedImage image,
                                                     boolean encodeAlpha,
                                                     int compression)
                                              throws java.io.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:
        `java.io.IOException` - if there are any I/O errors.

    - #### encodeAsPNG

          public static byte[] encodeAsPNG(java.awt.image.BufferedImage image)
                                    throws java.io.IOException

      Encodes a `BufferedImage` to PNG format.
      Parameters:
        `image` - the image (`null` not permitted).
      Returns:
        A byte array in PNG format.
      Throws:
        `java.io.IOException` - if there is an I/O problem.

    - #### encodeAsPNG

          public static byte[] encodeAsPNG(java.awt.image.BufferedImage image,
                                           boolean encodeAlpha,
                                           int compression)
                                    throws java.io.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:
        `java.io.IOException` - if there is an I/O problem.

    - #### writeImageMap

          public static void writeImageMap(java.io.PrintWriter writer,
                                           java.lang.String name,
                                           ChartRenderingInfo info,
                                           boolean useOverLibForToolTips)
                                    throws java.io.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:
        `java.io.IOException` - if there are any I/O errors.

    - #### writeImageMap

          public static void writeImageMap(java.io.PrintWriter writer,
                                           java.lang.String name,
                                           ChartRenderingInfo info,
                                           ToolTipTagFragmentGenerator toolTipTagFragmentGenerator,
                                           URLTagFragmentGenerator urlTagFragmentGenerator)
                                    throws java.io.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:
        `java.io.IOException` - if there are any I/O errors.

    - #### getImageMap

          public static java.lang.String getImageMap(java.lang.String name,
                                                     ChartRenderingInfo info)

      Creates an HTML image map. This method maps to `ImageMapUtilities.getImageMap(String, ChartRenderingInfo, ToolTipTagFragmentGenerator, URLTagFragmentGenerator)`, using default generators.
      Parameters:
        `name` - the map name (`null` not permitted).
        `info` - the chart rendering info (`null` not permitted).
      Returns:
        The map tag.

    - #### getImageMap

          public static java.lang.String getImageMap(java.lang.String name,
                                                     ChartRenderingInfo info,
                                                     ToolTipTagFragmentGenerator toolTipTagFragmentGenerator,
                                                     URLTagFragmentGenerator urlTagFragmentGenerator)

      Creates an HTML image map. This method maps directly to `ImageMapUtilities.getImageMap(String, ChartRenderingInfo, ToolTipTagFragmentGenerator, URLTagFragmentGenerator)`.
      Parameters:
        `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).
      Returns:
        The map tag.