Package adams.data.io.input
Class PNGImageReader
-
- All Implemented Interfaces:
Destroyable,GlobalInfoSupporter,FileFormatHandler,LoggingLevelHandler,LoggingSupporter,OptionHandler,SizeOfHandler,ImageReader<BufferedImageContainer>,InputStreamImageReader<BufferedImageContainer>,ColorProviderHandler,Serializable
public class PNGImageReader extends AbstractImageReader<BufferedImageContainer> implements ColorProviderHandler, InputStreamImageReader<BufferedImageContainer>
Reads images in PNG format.- Author:
- FracPete (fracpete at waikato dot ac dot nz)
- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description protected ColorProviderm_ColorProviderfor supplying the palette colors.protected Map<Integer,Integer>m_Colorsthe color mapping (palette index - Color RGB).protected intm_LastColorthe last color index used (when reading PNGs with palette).-
Fields inherited from class adams.core.option.AbstractOptionHandler
m_OptionManager
-
Fields inherited from class adams.core.logging.LoggingObject
m_Logger, m_LoggingIsEnabled, m_LoggingLevel
-
-
Constructor Summary
Constructors Constructor Description PNGImageReader()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description StringcolorProviderTipText()Returns the tip text for this property.voiddefineOptions()Adds options to the internal list of options.protected BufferedImageContainerdoRead(PlaceholderFile file)Performs the actual reading of the image file.protected BufferedImageContainerdoRead(ar.com.hjg.pngj.PngReader reader)Performs the actual reading of the image.ColorProvidergetColorProvider()Returns the color provider to use for images with a palette.ImageWritergetCorrespondingWriter()Returns, if available, the corresponding writer.StringgetFormatDescription()Returns a string describing the format (used in the file chooser).String[]getFormatExtensions()Returns the extension(s) of the format.StringglobalInfo()Returns a string describing the object.protected intpaletteToColor(int index)Returns the RGB value corresponding to the palette index.BufferedImageContainerread(InputStream stream)Reads the image from the stream.voidsetColorProvider(ColorProvider value)Sets the color provider to use for images with a palette.-
Methods inherited from class adams.data.io.input.AbstractImageReader
check, getDefaultFormatExtension, getReaders, isAvailable, postProcess, read
-
Methods inherited from class adams.core.option.AbstractOptionHandler
cleanUpOptions, destroy, finishInit, getDefaultLoggingLevel, getOptionManager, initialize, loggingLevelTipText, newOptionManager, reset, setLoggingLevel, toCommandLine, toString
-
Methods inherited from class adams.core.logging.LoggingObject
configureLogger, getLogger, getLoggingLevel, initializeLogging, isLoggingEnabled, sizeOf
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface adams.core.Destroyable
destroy
-
Methods inherited from interface adams.core.io.FileFormatHandler
getDefaultFormatExtension
-
Methods inherited from interface adams.data.io.input.ImageReader
isAvailable, read
-
Methods inherited from interface adams.core.logging.LoggingLevelHandler
getLoggingLevel
-
Methods inherited from interface adams.core.option.OptionHandler
cleanUpOptions, getOptionManager, toCommandLine
-
-
-
-
Field Detail
-
m_ColorProvider
protected ColorProvider m_ColorProvider
for supplying the palette colors.
-
m_LastColor
protected transient int m_LastColor
the last color index used (when reading PNGs with palette).
-
-
Method Detail
-
globalInfo
public String globalInfo()
Returns a string describing the object.- Specified by:
globalInfoin interfaceGlobalInfoSupporter- Specified by:
globalInfoin classAbstractOptionHandler- Returns:
- a description suitable for displaying in the gui
-
defineOptions
public void defineOptions()
Adds options to the internal list of options.- Specified by:
defineOptionsin interfaceOptionHandler- Overrides:
defineOptionsin classAbstractOptionHandler
-
setColorProvider
public void setColorProvider(ColorProvider value)
Sets the color provider to use for images with a palette.- Specified by:
setColorProviderin interfaceColorProviderHandler- Parameters:
value- the provider
-
getColorProvider
public ColorProvider getColorProvider()
Returns the color provider to use for images with a palette.- Specified by:
getColorProviderin interfaceColorProviderHandler- Returns:
- the provider
-
colorProviderTipText
public String colorProviderTipText()
Returns the tip text for this property.- Specified by:
colorProviderTipTextin interfaceColorProviderHandler- Returns:
- tip text for this property suitable for displaying in the GUI or for listing the options.
-
getFormatDescription
public String getFormatDescription()
Returns a string describing the format (used in the file chooser).- Specified by:
getFormatDescriptionin interfaceFileFormatHandler- Specified by:
getFormatDescriptionin classAbstractImageReader<BufferedImageContainer>- Returns:
- a description suitable for displaying in the file chooser
-
getFormatExtensions
public String[] getFormatExtensions()
Returns the extension(s) of the format.- Specified by:
getFormatExtensionsin interfaceFileFormatHandler- Specified by:
getFormatExtensionsin classAbstractImageReader<BufferedImageContainer>- Returns:
- the extension (without the dot!)
-
getCorrespondingWriter
public ImageWriter getCorrespondingWriter()
Returns, if available, the corresponding writer.- Specified by:
getCorrespondingWriterin interfaceImageReader<BufferedImageContainer>- Specified by:
getCorrespondingWriterin classAbstractImageReader<BufferedImageContainer>- Returns:
- the writer, null if none available
-
paletteToColor
protected int paletteToColor(int index)
Returns the RGB value corresponding to the palette index.- Parameters:
index- the palette index to get the color for- Returns:
- the RGB value
-
doRead
protected BufferedImageContainer doRead(ar.com.hjg.pngj.PngReader reader) throws Exception
Performs the actual reading of the image.- Parameters:
reader- the reader to use- Returns:
- the image container, null if failed to read
- Throws:
Exception- if reading fails
-
doRead
protected BufferedImageContainer doRead(PlaceholderFile file)
Performs the actual reading of the image file.- Specified by:
doReadin classAbstractImageReader<BufferedImageContainer>- Parameters:
file- the file to read- Returns:
- the image container, null if failed to read
-
read
public BufferedImageContainer read(InputStream stream)
Reads the image from the stream. Caller must close the stream.- Specified by:
readin interfaceInputStreamImageReader<BufferedImageContainer>- Parameters:
stream- the stream to read from- Returns:
- the image container, null if failed to read
-
-