Table of Contents

Class PngChunk

Namespace
Egami.Formats.Png
Assembly
Egami.dll

A chunk kept unchanged for round trips.

public sealed record PngChunk : IEquatable<PngChunk>
Inheritance
PngChunk
Implements
Inherited Members

Examples

// Force a palette, choose a filter and a zlib strategy, and keep a private chunk.
((PngDetails)image.Metadata.FormatDetails!).OtherChunks.Add(
    new PngChunk("prVt", "hello"u8.ToArray(), PngChunkPosition.AfterImageData));
image.Save("duck-palette.png", new PngWriterOptions
{
    ColorType = PngColorType.Palette,
    Filter = PngFilterMode.Paeth,
    CompressionStrategy = PngCompressionStrategy.Filtered,
});

Constructors

PngChunk(string, ReadOnlyMemory<byte>, PngChunkPosition)

A chunk kept unchanged for round trips.

public PngChunk(string Type, ReadOnlyMemory<byte> Data, PngChunkPosition Position)

Parameters

Type string

The four-letter chunk type, such as "bKGD".

Data ReadOnlyMemory<byte>

The chunk data.

Position PngChunkPosition

Where the chunk sat.

Examples

// Force a palette, choose a filter and a zlib strategy, and keep a private chunk.
((PngDetails)image.Metadata.FormatDetails!).OtherChunks.Add(
    new PngChunk("prVt", "hello"u8.ToArray(), PngChunkPosition.AfterImageData));
image.Save("duck-palette.png", new PngWriterOptions
{
    ColorType = PngColorType.Palette,
    Filter = PngFilterMode.Paeth,
    CompressionStrategy = PngCompressionStrategy.Filtered,
});

Properties

Data

The chunk data.

public ReadOnlyMemory<byte> Data { get; init; }

Property Value

ReadOnlyMemory<byte>

Position

Where the chunk sat.

public PngChunkPosition Position { get; init; }

Property Value

PngChunkPosition

Type

The four-letter chunk type, such as "bKGD".

public string Type { get; init; }

Property Value

string