Table of Contents

Class HeicItem

Namespace
Egami.Formats.Heic
Assembly
Egami.dll

An item of a HEIC file, as Items lists them.

public sealed record HeicItem : IEquatable<HeicItem>
Inheritance
HeicItem
Implements
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

AuxiliaryType

Gets the auxiliary type URN of an auxiliary image (auxC), such as Apple's mattes, or null.

public string? AuxiliaryType { get; init; }

Property Value

string

Hidden

Gets whether the item is hidden (not meant to be shown on its own).

public bool Hidden { get; init; }

Property Value

bool

Id

Gets the item_ID, which Egami.Heic's HeicImage.ReadItem takes.

public uint Id { get; init; }

Property Value

uint

IsImage

Gets whether Egami.Heic's HeicImage.ReadItem can decode it: an hvc1 or grid image item.

public bool IsImage { get; init; }

Property Value

bool

Role

Gets what the item is to the primary image.

public HeicItemRole Role { get; init; }

Property Value

HeicItemRole

Size

Gets the size its ispe property gives, or 0 × 0 when it has none.

public Size Size { get; init; }

Property Value

Size

Type

Gets the item type: hvc1, grid, iovl, tmap, Exif, mime, ...

public string Type { get; init; }

Property Value

string