pub enum Error {
Show 33 variants
Io(Arc<Error>),
ColorType(u8),
BitDepth(u8),
ColorMode(ColorType, u8),
BackgroundSize(ColorType),
InvalidSignature,
AdlerChecksum,
Inflate(TINFLStatus),
PresetDict,
CompressionMethod,
ZlibHeader,
ZlibTooSmall,
InterlaceMethod,
FilterMethod,
ImageDimensions,
Empty,
KeySize(usize),
HuffmanEnd,
IllegalFilterType,
AlphaPaletteLen,
ChunkSize,
AlphaPaletteWithAlphaMode,
NoEnd,
PhysUnits,
NulTerm,
ChunkLength([u8; 4]),
UnknownChunkType([u8; 4]),
Eof,
ChunkOrder,
NoImageData,
TrailingChunk,
Multiple([u8; 4]),
Crc32([u8; 4]),
}
Expand description
Decoding Errors.
Variants§
Io(Arc<Error>)
A wrapped I/O error.
ColorType(u8)
Unrecognized color type
BitDepth(u8)
Out of bounds bit depth
ColorMode(ColorType, u8)
Invalid color type / bit depth combination
BackgroundSize(ColorType)
Pixel size in background color doesn’t match pixel size in image data
InvalidSignature
The first 8 bytes are not the correct PNG signature
AdlerChecksum
Adler checksum not correct, data must be corrupted
Inflate(TINFLStatus)
Inflate algorithm failure
PresetDict
ZLib compression includes preset dictionary, which is not allowed according to the PNG specification
CompressionMethod
Invalid compression method in zlib header
ZlibHeader
Invalid FCHECK in zlib header
ZlibTooSmall
ZLib data is too small
InterlaceMethod
TODO
FilterMethod
TODO
ImageDimensions
TODO
Empty
File doesn’t contain any chunks.
KeySize(usize)
Key is not between 1-79 characters
HuffmanEnd
The length of the END symbol 256 in the Huffman tree is 0
IllegalFilterType
Unrecognized filter type
AlphaPaletteLen
Alpha palette is larger than the palette.
ChunkSize
Chunk is the wrong size
AlphaPaletteWithAlphaMode
Mode has an alpha channel, but also an alpha palette (must pick one)
NoEnd
Chunk was expected to end, but didn’t
PhysUnits
Invalid unit type
NulTerm
Null terminator is missing.
ChunkLength([u8; 4])
Invalid chunk length for the chunk type
UnknownChunkType([u8; 4])
Not a critical error, should be ignored (chunk not recognized).
Eof
Input reading appears to end in the middle of a PNG file
ChunkOrder
Chunks are out of order
NoImageData
IDAT Chunk not found.
TrailingChunk
Chunk(s) were found after the IEND chunk.
Multiple([u8; 4])
Multiple of a chunk were found when only one of this type is allowed.
Crc32([u8; 4])
CRC32 Checksum failed for a chunk