Class CLibPNGMetadata
- java.lang.Object
-
- javax.imageio.metadata.IIOMetadata
-
- com.github.jaiimageio.impl.plugins.png.CLibPNGMetadata
-
- All Implemented Interfaces:
java.lang.Cloneable
public class CLibPNGMetadata extends javax.imageio.metadata.IIOMetadata implements java.lang.Cloneable
-
-
Field Summary
Fields Modifier and Type Field Description int
bKGD_blue
int
bKGD_colorType
int
bKGD_gray
int
bKGD_green
int
bKGD_index
boolean
bKGD_present
int
bKGD_red
(package private) static int
bKGD_TYPE
int
cHRM_blueX
int
cHRM_blueY
int
cHRM_greenX
int
cHRM_greenY
boolean
cHRM_present
int
cHRM_redX
int
cHRM_redY
(package private) static int
cHRM_TYPE
int
cHRM_whitePointX
int
cHRM_whitePointY
static java.lang.String[]
colorSpaceTypeNames
int
gAMA_gamma
boolean
gAMA_present
(package private) static int
gAMA_TYPE
private boolean
gotHeader
private boolean
gotMetadata
char[]
hIST_histogram
boolean
hIST_present
(package private) static int
hIST_TYPE
byte[]
iCCP_compressedProfile
int
iCCP_compressionMethod
static java.lang.String[]
iCCP_compressionMethodNames
boolean
iCCP_present
java.lang.String
iCCP_profileName
(package private) static int
iCCP_TYPE
(package private) static int
IDAT_TYPE
(package private) static int
IEND_TYPE
int
IHDR_bitDepth
static java.lang.String[]
IHDR_bitDepths
int
IHDR_colorType
static java.lang.String[]
IHDR_colorTypeNames
int
IHDR_compressionMethod
static java.lang.String[]
IHDR_compressionMethodNames
int
IHDR_filterMethod
static java.lang.String[]
IHDR_filterMethodNames
int
IHDR_height
int
IHDR_interlaceMethod
static java.lang.String[]
IHDR_interlaceMethodNames
static int[]
IHDR_numChannels
boolean
IHDR_present
(package private) static int
IHDR_TYPE
int
IHDR_width
java.util.ArrayList
iTXt_compressionFlag
java.util.ArrayList
iTXt_compressionMethod
java.util.ArrayList
iTXt_keyword
java.util.ArrayList
iTXt_languageTag
java.util.ArrayList
iTXt_text
java.util.ArrayList
iTXt_translatedKeyword
(package private) static int
iTXt_TYPE
protected static java.lang.String
nativeMetadataFormatClassName
static java.lang.String
nativeMetadataFormatName
int
pHYs_pixelsPerUnitXAxis
int
pHYs_pixelsPerUnitYAxis
boolean
pHYs_present
(package private) static int
pHYs_TYPE
static int
PHYS_UNIT_METER
static int
PHYS_UNIT_UNKNOWN
int
pHYs_unitSpecifier
byte[]
PLTE_blue
byte[]
PLTE_green
boolean
PLTE_present
byte[]
PLTE_red
(package private) static int
PLTE_TYPE
(package private) static int
PNG_COLOR_GRAY
(package private) static int
PNG_COLOR_GRAY_ALPHA
(package private) static int
PNG_COLOR_PALETTE
(package private) static int
PNG_COLOR_RGB
(package private) static int
PNG_COLOR_RGB_ALPHA
static java.lang.String[]
renderingIntentNames
int
sBIT_alphaBits
int
sBIT_blueBits
int
sBIT_colorType
int
sBIT_grayBits
int
sBIT_greenBits
boolean
sBIT_present
int
sBIT_redBits
(package private) static int
sBIT_TYPE
int[]
sPLT_alpha
int[]
sPLT_blue
int[]
sPLT_frequency
int[]
sPLT_green
java.lang.String
sPLT_paletteName
boolean
sPLT_present
int[]
sPLT_red
int
sPLT_sampleDepth
(package private) static int
sPLT_TYPE
boolean
sRGB_present
int
sRGB_renderingIntent
(package private) static int
sRGB_TYPE
java.util.ArrayList
tEXt_keyword
java.util.ArrayList
tEXt_text
(package private) static int
tEXt_TYPE
int
tIME_day
int
tIME_hour
int
tIME_minute
int
tIME_month
boolean
tIME_present
int
tIME_second
(package private) static int
tIME_TYPE
int
tIME_year
byte[]
tRNS_alpha
int
tRNS_blue
int
tRNS_colorType
int
tRNS_gray
int
tRNS_green
boolean
tRNS_present
int
tRNS_red
(package private) static int
tRNS_TYPE
static java.lang.String[]
unitSpecifierNames
java.util.ArrayList
unknownChunkData
java.util.ArrayList
unknownChunkType
java.util.ArrayList
zTXt_compressionMethod
static java.lang.String[]
zTXt_compressionMethodNames
java.util.ArrayList
zTXt_keyword
java.util.ArrayList
zTXt_text
(package private) static int
zTXt_TYPE
-
Constructor Summary
Constructors Constructor Description CLibPNGMetadata()
CLibPNGMetadata(javax.imageio.metadata.IIOMetadata metadata)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description private static int
chunkType(java.lang.String typeString)
java.lang.Object
clone()
private java.util.ArrayList
cloneBytesArrayList(java.util.ArrayList in)
private void
fatal(org.w3c.dom.Node node, java.lang.String reason)
org.w3c.dom.Node
getAsTree(java.lang.String formatName)
private java.lang.String
getAttribute(org.w3c.dom.Node node, java.lang.String name)
private java.lang.String
getAttribute(org.w3c.dom.Node node, java.lang.String name, java.lang.String defaultValue, boolean required)
private boolean
getBooleanAttribute(org.w3c.dom.Node node, java.lang.String name)
private boolean
getBooleanAttribute(org.w3c.dom.Node node, java.lang.String name, boolean defaultValue, boolean required)
private int
getEnumeratedAttribute(org.w3c.dom.Node node, java.lang.String name, java.lang.String[] legalNames)
private int
getEnumeratedAttribute(org.w3c.dom.Node node, java.lang.String name, java.lang.String[] legalNames, int defaultValue, boolean required)
private float
getFloatAttribute(org.w3c.dom.Node node, java.lang.String name)
private float
getFloatAttribute(org.w3c.dom.Node node, java.lang.String name, float defaultValue, boolean required)
private int
getIntAttribute(org.w3c.dom.Node node, java.lang.String name)
private int
getIntAttribute(org.w3c.dom.Node node, java.lang.String name, int defaultValue, boolean required)
private org.w3c.dom.Node
getNativeTree()
private int
getNumChannels()
javax.imageio.metadata.IIOMetadataNode
getStandardChromaNode()
javax.imageio.metadata.IIOMetadataNode
getStandardCompressionNode()
javax.imageio.metadata.IIOMetadataNode
getStandardDataNode()
javax.imageio.metadata.IIOMetadataNode
getStandardDimensionNode()
javax.imageio.metadata.IIOMetadataNode
getStandardDocumentNode()
javax.imageio.metadata.IIOMetadataNode
getStandardTextNode()
javax.imageio.metadata.IIOMetadataNode
getStandardTransparencyNode()
void
initialize(javax.imageio.ImageTypeSpecifier imageType, int numBands, javax.imageio.ImageWriteParam param, int interlaceMethod)
Sets the instance variables of the IHDR and if necessary PLTE and tRNS chunks.private boolean
isISOLatin(java.lang.String s)
boolean
isReadOnly()
private void
mergeNativeTree(org.w3c.dom.Node root)
private void
mergeStandardTree(org.w3c.dom.Node root)
void
mergeTree(java.lang.String formatName, org.w3c.dom.Node root)
private java.lang.String
readNullTerminatedString(javax.imageio.stream.ImageInputStream stream)
private java.lang.String
repeat(java.lang.String s, int times)
void
reset()
(package private) static java.lang.String
toPrintableLatin1(java.lang.String s)
Converts its parameter to anotherString
which contains only printable Latin-1 characters but not leading, trailing, or consecutive spaces.-
Methods inherited from class javax.imageio.metadata.IIOMetadata
activateController, getController, getDefaultController, getExtraMetadataFormatNames, getMetadataFormat, getMetadataFormatNames, getNativeMetadataFormatName, getStandardTileNode, getStandardTree, hasController, isStandardMetadataFormatSupported, setController, setFromTree
-
-
-
-
Field Detail
-
nativeMetadataFormatName
public static final java.lang.String nativeMetadataFormatName
- See Also:
- Constant Field Values
-
nativeMetadataFormatClassName
protected static final java.lang.String nativeMetadataFormatClassName
- See Also:
- Constant Field Values
-
IHDR_colorTypeNames
public static final java.lang.String[] IHDR_colorTypeNames
-
IHDR_numChannels
public static final int[] IHDR_numChannels
-
IHDR_bitDepths
public static final java.lang.String[] IHDR_bitDepths
-
IHDR_compressionMethodNames
public static final java.lang.String[] IHDR_compressionMethodNames
-
IHDR_filterMethodNames
public static final java.lang.String[] IHDR_filterMethodNames
-
IHDR_interlaceMethodNames
public static final java.lang.String[] IHDR_interlaceMethodNames
-
iCCP_compressionMethodNames
public static final java.lang.String[] iCCP_compressionMethodNames
-
zTXt_compressionMethodNames
public static final java.lang.String[] zTXt_compressionMethodNames
-
PHYS_UNIT_UNKNOWN
public static final int PHYS_UNIT_UNKNOWN
- See Also:
- Constant Field Values
-
PHYS_UNIT_METER
public static final int PHYS_UNIT_METER
- See Also:
- Constant Field Values
-
unitSpecifierNames
public static final java.lang.String[] unitSpecifierNames
-
renderingIntentNames
public static final java.lang.String[] renderingIntentNames
-
colorSpaceTypeNames
public static final java.lang.String[] colorSpaceTypeNames
-
IHDR_TYPE
static final int IHDR_TYPE
-
PLTE_TYPE
static final int PLTE_TYPE
-
IDAT_TYPE
static final int IDAT_TYPE
-
IEND_TYPE
static final int IEND_TYPE
-
bKGD_TYPE
static final int bKGD_TYPE
-
cHRM_TYPE
static final int cHRM_TYPE
-
gAMA_TYPE
static final int gAMA_TYPE
-
hIST_TYPE
static final int hIST_TYPE
-
iCCP_TYPE
static final int iCCP_TYPE
-
iTXt_TYPE
static final int iTXt_TYPE
-
pHYs_TYPE
static final int pHYs_TYPE
-
sBIT_TYPE
static final int sBIT_TYPE
-
sPLT_TYPE
static final int sPLT_TYPE
-
sRGB_TYPE
static final int sRGB_TYPE
-
tEXt_TYPE
static final int tEXt_TYPE
-
tIME_TYPE
static final int tIME_TYPE
-
tRNS_TYPE
static final int tRNS_TYPE
-
zTXt_TYPE
static final int zTXt_TYPE
-
PNG_COLOR_GRAY
static final int PNG_COLOR_GRAY
- See Also:
- Constant Field Values
-
PNG_COLOR_RGB
static final int PNG_COLOR_RGB
- See Also:
- Constant Field Values
-
PNG_COLOR_PALETTE
static final int PNG_COLOR_PALETTE
- See Also:
- Constant Field Values
-
PNG_COLOR_GRAY_ALPHA
static final int PNG_COLOR_GRAY_ALPHA
- See Also:
- Constant Field Values
-
PNG_COLOR_RGB_ALPHA
static final int PNG_COLOR_RGB_ALPHA
- See Also:
- Constant Field Values
-
IHDR_present
public boolean IHDR_present
-
IHDR_width
public int IHDR_width
-
IHDR_height
public int IHDR_height
-
IHDR_bitDepth
public int IHDR_bitDepth
-
IHDR_colorType
public int IHDR_colorType
-
IHDR_compressionMethod
public int IHDR_compressionMethod
-
IHDR_filterMethod
public int IHDR_filterMethod
-
IHDR_interlaceMethod
public int IHDR_interlaceMethod
-
PLTE_present
public boolean PLTE_present
-
PLTE_red
public byte[] PLTE_red
-
PLTE_green
public byte[] PLTE_green
-
PLTE_blue
public byte[] PLTE_blue
-
bKGD_present
public boolean bKGD_present
-
bKGD_colorType
public int bKGD_colorType
-
bKGD_index
public int bKGD_index
-
bKGD_gray
public int bKGD_gray
-
bKGD_red
public int bKGD_red
-
bKGD_green
public int bKGD_green
-
bKGD_blue
public int bKGD_blue
-
cHRM_present
public boolean cHRM_present
-
cHRM_whitePointX
public int cHRM_whitePointX
-
cHRM_whitePointY
public int cHRM_whitePointY
-
cHRM_redX
public int cHRM_redX
-
cHRM_redY
public int cHRM_redY
-
cHRM_greenX
public int cHRM_greenX
-
cHRM_greenY
public int cHRM_greenY
-
cHRM_blueX
public int cHRM_blueX
-
cHRM_blueY
public int cHRM_blueY
-
gAMA_present
public boolean gAMA_present
-
gAMA_gamma
public int gAMA_gamma
-
hIST_present
public boolean hIST_present
-
hIST_histogram
public char[] hIST_histogram
-
iCCP_present
public boolean iCCP_present
-
iCCP_profileName
public java.lang.String iCCP_profileName
-
iCCP_compressionMethod
public int iCCP_compressionMethod
-
iCCP_compressedProfile
public byte[] iCCP_compressedProfile
-
iTXt_keyword
public java.util.ArrayList iTXt_keyword
-
iTXt_compressionFlag
public java.util.ArrayList iTXt_compressionFlag
-
iTXt_compressionMethod
public java.util.ArrayList iTXt_compressionMethod
-
iTXt_languageTag
public java.util.ArrayList iTXt_languageTag
-
iTXt_translatedKeyword
public java.util.ArrayList iTXt_translatedKeyword
-
iTXt_text
public java.util.ArrayList iTXt_text
-
pHYs_present
public boolean pHYs_present
-
pHYs_pixelsPerUnitXAxis
public int pHYs_pixelsPerUnitXAxis
-
pHYs_pixelsPerUnitYAxis
public int pHYs_pixelsPerUnitYAxis
-
pHYs_unitSpecifier
public int pHYs_unitSpecifier
-
sBIT_present
public boolean sBIT_present
-
sBIT_colorType
public int sBIT_colorType
-
sBIT_grayBits
public int sBIT_grayBits
-
sBIT_redBits
public int sBIT_redBits
-
sBIT_greenBits
public int sBIT_greenBits
-
sBIT_blueBits
public int sBIT_blueBits
-
sBIT_alphaBits
public int sBIT_alphaBits
-
sPLT_present
public boolean sPLT_present
-
sPLT_paletteName
public java.lang.String sPLT_paletteName
-
sPLT_sampleDepth
public int sPLT_sampleDepth
-
sPLT_red
public int[] sPLT_red
-
sPLT_green
public int[] sPLT_green
-
sPLT_blue
public int[] sPLT_blue
-
sPLT_alpha
public int[] sPLT_alpha
-
sPLT_frequency
public int[] sPLT_frequency
-
sRGB_present
public boolean sRGB_present
-
sRGB_renderingIntent
public int sRGB_renderingIntent
-
tEXt_keyword
public java.util.ArrayList tEXt_keyword
-
tEXt_text
public java.util.ArrayList tEXt_text
-
tIME_present
public boolean tIME_present
-
tIME_year
public int tIME_year
-
tIME_month
public int tIME_month
-
tIME_day
public int tIME_day
-
tIME_hour
public int tIME_hour
-
tIME_minute
public int tIME_minute
-
tIME_second
public int tIME_second
-
tRNS_present
public boolean tRNS_present
-
tRNS_colorType
public int tRNS_colorType
-
tRNS_alpha
public byte[] tRNS_alpha
-
tRNS_gray
public int tRNS_gray
-
tRNS_red
public int tRNS_red
-
tRNS_green
public int tRNS_green
-
tRNS_blue
public int tRNS_blue
-
zTXt_keyword
public java.util.ArrayList zTXt_keyword
-
zTXt_compressionMethod
public java.util.ArrayList zTXt_compressionMethod
-
zTXt_text
public java.util.ArrayList zTXt_text
-
unknownChunkType
public java.util.ArrayList unknownChunkType
-
unknownChunkData
public java.util.ArrayList unknownChunkData
-
gotHeader
private boolean gotHeader
-
gotMetadata
private boolean gotMetadata
-
-
Method Detail
-
toPrintableLatin1
static java.lang.String toPrintableLatin1(java.lang.String s)
Converts its parameter to anotherString
which contains only printable Latin-1 characters but not leading, trailing, or consecutive spaces.- Parameters:
s
- theString
to convert.- Returns:
- a printable Latin-1
String
sans superfluous spaces.
-
initialize
public void initialize(javax.imageio.ImageTypeSpecifier imageType, int numBands, javax.imageio.ImageWriteParam param, int interlaceMethod)
Sets the instance variables of the IHDR and if necessary PLTE and tRNS chunks. ThenumBands
parameter is necessary since we may only be writing a subset of the image bands.
-
isReadOnly
public boolean isReadOnly()
- Specified by:
isReadOnly
in classjavax.imageio.metadata.IIOMetadata
-
cloneBytesArrayList
private java.util.ArrayList cloneBytesArrayList(java.util.ArrayList in)
-
clone
public java.lang.Object clone()
- Overrides:
clone
in classjava.lang.Object
-
getAsTree
public org.w3c.dom.Node getAsTree(java.lang.String formatName)
- Specified by:
getAsTree
in classjavax.imageio.metadata.IIOMetadata
-
getNativeTree
private org.w3c.dom.Node getNativeTree()
-
getNumChannels
private int getNumChannels()
-
getStandardChromaNode
public javax.imageio.metadata.IIOMetadataNode getStandardChromaNode()
- Overrides:
getStandardChromaNode
in classjavax.imageio.metadata.IIOMetadata
-
getStandardCompressionNode
public javax.imageio.metadata.IIOMetadataNode getStandardCompressionNode()
- Overrides:
getStandardCompressionNode
in classjavax.imageio.metadata.IIOMetadata
-
repeat
private java.lang.String repeat(java.lang.String s, int times)
-
getStandardDataNode
public javax.imageio.metadata.IIOMetadataNode getStandardDataNode()
- Overrides:
getStandardDataNode
in classjavax.imageio.metadata.IIOMetadata
-
getStandardDimensionNode
public javax.imageio.metadata.IIOMetadataNode getStandardDimensionNode()
- Overrides:
getStandardDimensionNode
in classjavax.imageio.metadata.IIOMetadata
-
getStandardDocumentNode
public javax.imageio.metadata.IIOMetadataNode getStandardDocumentNode()
- Overrides:
getStandardDocumentNode
in classjavax.imageio.metadata.IIOMetadata
-
getStandardTextNode
public javax.imageio.metadata.IIOMetadataNode getStandardTextNode()
- Overrides:
getStandardTextNode
in classjavax.imageio.metadata.IIOMetadata
-
getStandardTransparencyNode
public javax.imageio.metadata.IIOMetadataNode getStandardTransparencyNode()
- Overrides:
getStandardTransparencyNode
in classjavax.imageio.metadata.IIOMetadata
-
fatal
private void fatal(org.w3c.dom.Node node, java.lang.String reason) throws javax.imageio.metadata.IIOInvalidTreeException
- Throws:
javax.imageio.metadata.IIOInvalidTreeException
-
getIntAttribute
private int getIntAttribute(org.w3c.dom.Node node, java.lang.String name, int defaultValue, boolean required) throws javax.imageio.metadata.IIOInvalidTreeException
- Throws:
javax.imageio.metadata.IIOInvalidTreeException
-
getFloatAttribute
private float getFloatAttribute(org.w3c.dom.Node node, java.lang.String name, float defaultValue, boolean required) throws javax.imageio.metadata.IIOInvalidTreeException
- Throws:
javax.imageio.metadata.IIOInvalidTreeException
-
getIntAttribute
private int getIntAttribute(org.w3c.dom.Node node, java.lang.String name) throws javax.imageio.metadata.IIOInvalidTreeException
- Throws:
javax.imageio.metadata.IIOInvalidTreeException
-
getFloatAttribute
private float getFloatAttribute(org.w3c.dom.Node node, java.lang.String name) throws javax.imageio.metadata.IIOInvalidTreeException
- Throws:
javax.imageio.metadata.IIOInvalidTreeException
-
getBooleanAttribute
private boolean getBooleanAttribute(org.w3c.dom.Node node, java.lang.String name, boolean defaultValue, boolean required) throws javax.imageio.metadata.IIOInvalidTreeException
- Throws:
javax.imageio.metadata.IIOInvalidTreeException
-
getBooleanAttribute
private boolean getBooleanAttribute(org.w3c.dom.Node node, java.lang.String name) throws javax.imageio.metadata.IIOInvalidTreeException
- Throws:
javax.imageio.metadata.IIOInvalidTreeException
-
getEnumeratedAttribute
private int getEnumeratedAttribute(org.w3c.dom.Node node, java.lang.String name, java.lang.String[] legalNames, int defaultValue, boolean required) throws javax.imageio.metadata.IIOInvalidTreeException
- Throws:
javax.imageio.metadata.IIOInvalidTreeException
-
getEnumeratedAttribute
private int getEnumeratedAttribute(org.w3c.dom.Node node, java.lang.String name, java.lang.String[] legalNames) throws javax.imageio.metadata.IIOInvalidTreeException
- Throws:
javax.imageio.metadata.IIOInvalidTreeException
-
getAttribute
private java.lang.String getAttribute(org.w3c.dom.Node node, java.lang.String name, java.lang.String defaultValue, boolean required) throws javax.imageio.metadata.IIOInvalidTreeException
- Throws:
javax.imageio.metadata.IIOInvalidTreeException
-
getAttribute
private java.lang.String getAttribute(org.w3c.dom.Node node, java.lang.String name) throws javax.imageio.metadata.IIOInvalidTreeException
- Throws:
javax.imageio.metadata.IIOInvalidTreeException
-
mergeTree
public void mergeTree(java.lang.String formatName, org.w3c.dom.Node root) throws javax.imageio.metadata.IIOInvalidTreeException
- Specified by:
mergeTree
in classjavax.imageio.metadata.IIOMetadata
- Throws:
javax.imageio.metadata.IIOInvalidTreeException
-
mergeNativeTree
private void mergeNativeTree(org.w3c.dom.Node root) throws javax.imageio.metadata.IIOInvalidTreeException
- Throws:
javax.imageio.metadata.IIOInvalidTreeException
-
isISOLatin
private boolean isISOLatin(java.lang.String s)
-
mergeStandardTree
private void mergeStandardTree(org.w3c.dom.Node root) throws javax.imageio.metadata.IIOInvalidTreeException
- Throws:
javax.imageio.metadata.IIOInvalidTreeException
-
reset
public void reset()
- Specified by:
reset
in classjavax.imageio.metadata.IIOMetadata
-
chunkType
private static int chunkType(java.lang.String typeString)
-
readNullTerminatedString
private java.lang.String readNullTerminatedString(javax.imageio.stream.ImageInputStream stream) throws java.io.IOException
- Throws:
java.io.IOException
-
-