Class BitmapEncoder
java.lang.Object
org.knowm.xchart.BitmapEncoder
A helper class with static methods for saving Charts as bitmaps
-
Nested Class Summary
Nested Classes -
Constructor Summary
ConstructorsModifierConstructorDescriptionprivateConstructor - Private constructor to prevent instantiation -
Method Summary
Modifier and TypeMethodDescriptionstatic StringaddFileExtension(String fileName, BitmapEncoder.BitmapFormat bitmapFormat) Only adds the extension of the BitmapFormat to the filename if the filename doesn't already have it.static <T extends Chart<?,?>>
byte[]getBitmapBytes(T chart, BitmapEncoder.BitmapFormat bitmapFormat) Generates a byte[] for a given chartstatic <T extends Chart<?,?>>
BufferedImagegetBufferedImage(T chart) private static BufferedImagemergeImages(List<BufferedImage> images, Integer rows, Integer cols) static <T extends Chart<?,?>>
voidsaveBitmap(List<T> charts, Integer rows, Integer cols, OutputStream targetStream, BitmapEncoder.BitmapFormat bitmapFormat) Save list of Charts into a given stream.static <T extends Chart<?,?>>
voidsaveBitmap(List<T> charts, Integer rows, Integer cols, String fileName, BitmapEncoder.BitmapFormat bitmapFormat) Save list of Charts as an image file.static <T extends Chart<?,?>>
voidsaveBitmap(T chart, OutputStream targetStream, BitmapEncoder.BitmapFormat bitmapFormat) Write a Chart into a given stream.static <T extends Chart<?,?>>
voidsaveBitmap(T chart, String fileName, BitmapEncoder.BitmapFormat bitmapFormat) Save a Chart as an image filestatic <T extends Chart<?,?>>
voidsaveBitmapWithDPI(T chart, String fileName, BitmapEncoder.BitmapFormat bitmapFormat, int DPI) Save a chart as a PNG with a custom DPI.static <T extends Chart<?,?>>
voidsaveJPGWithQuality(T chart, String fileName, float quality) Save a Chart as a JPEG fileprivate static voidsetDPI(IIOMetadata metadata, int DPI) Sets the metadata correctly
-
Constructor Details
-
BitmapEncoder
private BitmapEncoder()Constructor - Private constructor to prevent instantiation
-
-
Method Details
-
addFileExtension
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 rowscols- number of columnsfileName-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 rowscols- number of columnstargetStream-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
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
-
mergeImages
-