Table of Contents

Class HeicDetails

Namespace
Egami.Formats.Heic
Assembly
Egami.dll

What a HEIC file holds besides its pixels: brands, HEVC profile, color, grid and items.

public sealed class HeicDetails : FormatDetails
Inheritance
HeicDetails
Inherited Members

Examples

// The other images a photo holds: thumbnails, gain maps, depth maps and mattes (portrait, skin, sky).
HeicDetails details = (HeicDetails)sdr.Metadata.FormatDetails!;
HeicItem sky = details.Items.First(i => i.AuxiliaryType == "urn:com:apple:photo:2020:aux:semanticskymatte");
using Raster matte = HeicImage.ReadItem("portrait.heic", sky.Id, context: heic);
matte.Apply(ops => ops.AutoOrient());
matte.Save("sky-matte.png");

Properties

AlphaPremultiplied

Gets or sets whether the color is premultiplied by the alpha (a prem item reference). Egami loads straight alpha.

public bool AlphaPremultiplied { get; set; }

Property Value

bool

BitDepth

Gets or sets the bits a sample has: 8, 10 or 12.

public int BitDepth { get; set; }

Property Value

int

Chroma

Gets or sets the chroma format: 4:0:0 (monochrome), 4:2:0, 4:2:2 or 4:4:4.

public ChromaFormat Chroma { get; set; }

Property Value

ChromaFormat

CodePoints

Gets or sets the color code points (ITU-T H.273) and range: the nclx colr property's when there is one, otherwise the HEVC stream's own (the SPS's VUI).

public ColorCodePoints CodePoints { get; set; }

Property Value

ColorCodePoints

CompatibleBrands

Gets or sets the ftyp box's compatible brands, such as mif1, heic and miaf.

public IReadOnlyList<string> CompatibleBrands { get; set; }

Property Value

IReadOnlyList<string>

GridColumns

Gets or sets the columns of a grid image, or 1.

public int GridColumns { get; set; }

Property Value

int

GridRows

Gets or sets the rows of a grid image, or 1.

public int GridRows { get; set; }

Property Value

int

HasAlpha

Gets or sets whether the image has an alpha item.

public bool HasAlpha { get; set; }

Property Value

bool

IsSequence

Gets or sets whether the file holds an image sequence (the msf1 brand).

public bool IsSequence { get; set; }

Property Value

bool

Items

Gets or sets every item of the file with what it is to the primary image; read an image item with Egami.Heic's HeicImage.ReadItem.

public IReadOnlyList<HeicItem> Items { get; set; }

Property Value

IReadOnlyList<HeicItem>

Level

Gets or sets the HEVC level (general_level_idc): 30 times the level number, so 93 is level 3.1.

public int Level { get; set; }

Property Value

int

MajorBrand

Gets or sets the ftyp box's major brand, such as heic or heix.

public string MajorBrand { get; set; }

Property Value

string

Profile

Gets or sets the HEVC profile (general_profile_idc): 1 Main, 2 Main 10, 3 Main Still Picture, 4 range extensions.

public int Profile { get; set; }

Property Value

int

Tier

Gets or sets the HEVC tier: 0 (Main) or 1 (High).

public int Tier { get; set; }

Property Value

int

Methods

Copy()

Returns a deep copy.

public override FormatDetails Copy()

Returns

FormatDetails

The copy.