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 ColorProvider
m_ColorProvider
for supplying the palette colors.protected Map<Integer,Integer>
m_Colors
the color mapping (palette index - Color RGB).protected int
m_LastColor
the 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 String
colorProviderTipText()
Returns the tip text for this property.void
defineOptions()
Adds options to the internal list of options.protected BufferedImageContainer
doRead(PlaceholderFile file)
Performs the actual reading of the image file.protected BufferedImageContainer
doRead(ar.com.hjg.pngj.PngReader reader)
Performs the actual reading of the image.ColorProvider
getColorProvider()
Returns the color provider to use for images with a palette.ImageWriter
getCorrespondingWriter()
Returns, if available, the corresponding writer.String
getFormatDescription()
Returns a string describing the format (used in the file chooser).String[]
getFormatExtensions()
Returns the extension(s) of the format.String
globalInfo()
Returns a string describing the object.protected int
paletteToColor(int index)
Returns the RGB value corresponding to the palette index.BufferedImageContainer
read(InputStream stream)
Reads the image from the stream.void
setColorProvider(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:
globalInfo
in interfaceGlobalInfoSupporter
- Specified by:
globalInfo
in classAbstractOptionHandler
- Returns:
- a description suitable for displaying in the gui
-
defineOptions
public void defineOptions()
Adds options to the internal list of options.- Specified by:
defineOptions
in interfaceOptionHandler
- Overrides:
defineOptions
in classAbstractOptionHandler
-
setColorProvider
public void setColorProvider(ColorProvider value)
Sets the color provider to use for images with a palette.- Specified by:
setColorProvider
in interfaceColorProviderHandler
- Parameters:
value
- the provider
-
getColorProvider
public ColorProvider getColorProvider()
Returns the color provider to use for images with a palette.- Specified by:
getColorProvider
in interfaceColorProviderHandler
- Returns:
- the provider
-
colorProviderTipText
public String colorProviderTipText()
Returns the tip text for this property.- Specified by:
colorProviderTipText
in 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:
getFormatDescription
in interfaceFileFormatHandler
- Specified by:
getFormatDescription
in 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:
getFormatExtensions
in interfaceFileFormatHandler
- Specified by:
getFormatExtensions
in classAbstractImageReader<BufferedImageContainer>
- Returns:
- the extension (without the dot!)
-
getCorrespondingWriter
public ImageWriter getCorrespondingWriter()
Returns, if available, the corresponding writer.- Specified by:
getCorrespondingWriter
in interfaceImageReader<BufferedImageContainer>
- Specified by:
getCorrespondingWriter
in 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:
doRead
in 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:
read
in interfaceInputStreamImageReader<BufferedImageContainer>
- Parameters:
stream
- the stream to read from- Returns:
- the image container, null if failed to read
-
-