PeachImage

PeachImage.Formats.Png Namespace

Classes  
PngAlphaSplit Splits a PNG’s interleaved color+alpha IDAT data into two independent, ready-to-embed zlib (RFC 1950) streams — a color-only plane and a DeviceGray alpha-only plane — for callers that want to build a PDF color XObject + /SMask pair without doing a full Rgba32 pixel decode. See TrySplit(PngPassthroughInfo, PngAlphaSplitInfo).
PngDecoderOptions PNG-specific decode options.
PngDecodingException Thrown when a PNG bitstream cannot be decoded, either because it is malformed or uses an unsupported feature.
PngEncoderOptions PNG-specific encode options.
PngEncodingException Thrown when an Image cannot be encoded as PNG.
PngFormatException Base type for exceptions specific to the PNG codec.
PngPassthrough Reads a PNG’s IHDR/PLTE/tRNS/iCCP/IDAT chunk data verbatim, with no pixel decode (no inflate of IDAT), for callers that want to re-embed the original compressed pixel stream in another container — e.g. a PDF /FlateDecode image stream, which can consume a PNG’s zlib-compressed IDAT data directly — rather than decode it into an Image and re-encode it. The embedded ICC profile (if any) is inflated, since iCCP’s own compressed form has no equivalent “verbatim” target container.
PngTextEntry A structured view over a TextRawMetadataProfile, covering PNG’s tEXt/zTXt/iTXt chunks. All three are captured under the single Text kind with Data holding UTF-8 bytes of keyword\0languageTag\0translatedKeyword\0text (language/translated-keyword empty for plain tEXt/zTXt; Latin-1 source text is re-encoded to UTF-8 for a single consistent representation regardless of which chunk type produced it).
Structs  
PngAlphaSplitInfo The result of splitting a PNG’s per-pixel alpha channel out into an independent plane. See TrySplit(PngPassthroughInfo, PngAlphaSplitInfo).
PngPassthroughInfo The raw, CRC-validated PNG chunk data needed to embed a PNG’s compressed pixel stream directly into another container (e.g. a PDF /FlateDecode image stream) without inflating/deflating it. See TryRead(Stream, PngPassthroughInfo).
Enums  
PngColorMode Controls whether PngEncoderOptions encodes an indexed (PLTE) palette. Only ever affects Rgb24/Rgba32 sources — grayscale and 16-bit-per-channel sources always encode via their existing color type.
PngColorType The PNG IHDR color type values (spec §11.2.2).
PngCompressionLevel Requested tradeoff between PNG encode speed and output size.
PngFilterStrategy How the PNG encoder chooses a per-scanline filter type.