Class BitmapEncoder

java.lang.Object
org.knowm.xchart.BitmapEncoder

public final class BitmapEncoder extends Object
A helper class with static methods for saving Charts as bitmaps
  • Constructor Details

    • BitmapEncoder

      private BitmapEncoder()
      Constructor - Private constructor to prevent instantiation
  • Method Details

    • addFileExtension

      public static String addFileExtension(String fileName, BitmapEncoder.BitmapFormat bitmapFormat)
      Only adds the extension of the BitmapFormat to the filename if the filename doesn't already have it.
      Parameters:
      fileName -
      bitmapFormat -
      Returns:
      filename (if extension already exists), otherwise;: filename + "." + extension
    • saveBitmap

      public static <T extends Chart<?,?>> void saveBitmap(T chart, String fileName, BitmapEncoder.BitmapFormat bitmapFormat) throws IOException
      Save a Chart as an image file
      Parameters:
      chart -
      fileName -
      bitmapFormat -
      Throws:
      IOException
    • saveBitmap

      public static <T extends Chart<?,?>> void saveBitmap(T chart, OutputStream targetStream, BitmapEncoder.BitmapFormat bitmapFormat) throws IOException
      Write a Chart into a given stream. Does not close the target stream automatically at the end of the operation
      Parameters:
      chart -
      targetStream -
      bitmapFormat -
      Throws:
      IOException
    • saveBitmap

      public static <T extends Chart<?,?>> void saveBitmap(List<T> charts, Integer rows, Integer cols, String fileName, BitmapEncoder.BitmapFormat bitmapFormat) throws IOException
      Save list of Charts as an image file. Function assumes that all charts are the same size (width, height). Number of charts should equal rows multiplied by cols.
      Parameters:
      charts -
      rows - number of rows
      cols - number of columns
      fileName -
      bitmapFormat -
      Throws:
      IOException
    • saveBitmap

      public static <T extends Chart<?,?>> void saveBitmap(List<T> charts, Integer rows, Integer cols, OutputStream targetStream, BitmapEncoder.BitmapFormat bitmapFormat) throws IOException
      Save list of Charts into a given stream. Does not close the target stream automatically at the end of the operation. Function assumes that all charts are the same size (width, height). Number of charts should equal rows multiplied by cols.
      Parameters:
      charts -
      rows - number of rows
      cols - number of columns
      targetStream -
      bitmapFormat -
      Throws:
      IOException
    • saveBitmapWithDPI

      public static <T extends Chart<?,?>> void saveBitmapWithDPI(T chart, String fileName, BitmapEncoder.BitmapFormat bitmapFormat, int DPI) throws IOException
      Save a chart as a PNG with a custom DPI. The default DPI is 72, which is fine for displaying charts on a computer monitor, but for printing charts, a DPI of around 300 is much better.
      Parameters:
      chart -
      fileName -
      DPI -
      Throws:
      IOException
    • setDPI

      private static void setDPI(IIOMetadata metadata, int DPI) throws IIOInvalidTreeException
      Sets the metadata correctly
      Parameters:
      metadata -
      DPI -
      Throws:
      IIOInvalidTreeException
    • saveJPGWithQuality

      public static <T extends Chart<?,?>> void saveJPGWithQuality(T chart, String fileName, float quality) throws IOException
      Save a Chart as a JPEG file
      Parameters:
      chart -
      fileName -
      quality - - a float between 0 and 1 (1 = maximum quality)
      Throws:
      IOException
    • getBitmapBytes

      public static <T extends Chart<?,?>> byte[] getBitmapBytes(T chart, BitmapEncoder.BitmapFormat bitmapFormat) throws IOException
      Generates a byte[] for a given chart
      Parameters:
      chart -
      Returns:
      a byte[] for a given chart
      Throws:
      IOException
    • getBufferedImage

      public static <T extends Chart<?,?>> BufferedImage getBufferedImage(T chart)
    • mergeImages

      private static BufferedImage mergeImages(List<BufferedImage> images, Integer rows, Integer cols)