org.jfree.chart.encoders

Class SunJPEGEncoderAdapter

Implemented Interfaces:
ImageEncoder

public class SunJPEGEncoderAdapter
extends java.lang.Object
implements ImageEncoder

Adapter class for the Sun JPEG Encoder. The ImageEncoderFactory will only return a reference to this class by default if the library has been compiled under a JDK 1.4+ and is being run using a JRE 1.4+.

Constructor Summary

SunJPEGEncoderAdapter()
Creates a new SunJPEGEncoderAdapter instance.

Method Summary

byte[]
encode(BufferedImage bufferedImage)
Encodes an image in JPEG format.
void
encode(BufferedImage bufferedImage, OutputStream outputStream)
Encodes an image in JPEG format and writes it to an output stream.
float
getQuality()
Returns the quality of the image encoding, which is a number in the range 0.0f to 1.0f (higher values give better quality output, but larger file sizes).
boolean
isEncodingAlpha()
Returns false always, indicating that this encoder does not encode alpha transparency.
void
setEncodingAlpha(boolean encodingAlpha)
Set whether the encoder should encode alpha transparency (this is not supported for JPEG, so this method does nothing).
void
setQuality(float quality)
Set the quality of the image encoding.

Constructor Details

SunJPEGEncoderAdapter

public SunJPEGEncoderAdapter()
Creates a new SunJPEGEncoderAdapter instance.

Method Details

encode

public byte[] encode(BufferedImage bufferedImage)
            throws IOException
Encodes an image in JPEG format.
Specified by:
encode in interface ImageEncoder
Parameters:
bufferedImage - the image to be encoded (null not permitted).
Returns:
The byte[] that is the encoded image.

encode

public void encode(BufferedImage bufferedImage,
                   OutputStream outputStream)
            throws IOException
Encodes an image in JPEG format and writes it to an output stream.
Specified by:
encode in interface ImageEncoder
Parameters:
bufferedImage - the image to be encoded (null not permitted).
outputStream - the OutputStream to write the encoded image to (null not permitted).

getQuality

public float getQuality()
Returns the quality of the image encoding, which is a number in the range 0.0f to 1.0f (higher values give better quality output, but larger file sizes). The default value is 0.95f.
Specified by:
getQuality in interface ImageEncoder
Returns:
A float representing the quality, in the range 0.0f to 1.0f.

isEncodingAlpha

public boolean isEncodingAlpha()
Returns false always, indicating that this encoder does not encode alpha transparency.
Specified by:
isEncodingAlpha in interface ImageEncoder
Returns:
false.

setEncodingAlpha

public void setEncodingAlpha(boolean encodingAlpha)
Set whether the encoder should encode alpha transparency (this is not supported for JPEG, so this method does nothing).
Specified by:
setEncodingAlpha in interface ImageEncoder
Parameters:
encodingAlpha - ignored.

setQuality

public void setQuality(float quality)
Set the quality of the image encoding.
Specified by:
setQuality in interface ImageEncoder
Parameters:
quality - A float representing the quality (in the range 0.0f to 1.0f).
See Also:
getQuality()