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

Methods
`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.