Skip to main content

Crate gamut_icc

Crate gamut_icc 

Source
Expand description

gamut-icc — ICC color profile parsing and serialization.

An ICC profile is the self-describing color-characterization blob embedded in images (the WebP ICCP chunk, the AVIF/HEIF colr box of type prof, a JPEG APP2 segment). Structurally it is a 128-byte header, a tag table, then the tag element data the table points at — a flat, offset-indexed binary format that needs neither the TIFF/IFD machinery nor XML, so this crate depends only on gamut_core.

Layouts follow the ICC profile specification ICC.1:2022 (profile version 4.4, references/icc), which is equivalent to ISO 15076-1. Profile v2 is still by far the most common version embedded in real images and is supported for reading.

Placeholder skeleton — implementation pending (see issue #34). The type declarations below sketch the data model the implementation phases flesh out; no parsing/serialization exists yet.

Re-exports§

pub use header::ColorSpace;
pub use header::DeviceClass;
pub use header::ProfileHeader;
pub use header::ProfileVersion;
pub use header::RenderingIntent;
pub use profile::IccProfile;
pub use reader::IccReader;
pub use tag_types::TagType;
pub use tags::KnownTag;
pub use tags::TagEntry;
pub use tags::TagSignature;
pub use writer::IccWriter;

Modules§

header
The 128-byte ICC profile header.
profile
The parsed profile: the header plus its tag table.
reader
The ICC profile reader.
tag_types
The element types a tag’s data can take.
tags
The tag table: the signatures and offsets that index a profile’s tag element data.
writer
The ICC profile writer.