Search

Atalasoft Knowledge Base

HEIC / HEIF Support in DotImage (new in 11.2.0.10)

Tananda
DotImage

11.2.0.10 added support for High Efficiency Image Format (HEIF) images

A word about format support

Due to the way the file extension is used - our decoder is the HeifDecoder, but you may find that files being processed have the HEIC extension

HEIF is a container format developed by the Moving Picture Experts Group (MPEG) which can contain many different licensed audio and video formats

Atalasoft supports a subset of these images - most often seen as output from Apple devices as it has been Apples go to format for some time now.

Our HeifDecoder supports single and multiple frame HEIC / HEIF images

See also: What the HEIC? Apple’s Highly Compressed Image Format Still Confuses

Adding HEIF/HEIC support to DotImage

This topic is covered by its own KB article: HOWTO: Add Support for HEIF \ HEIC Files to DotImage

Multiple Frames in HEIF / HEIC Images

The HEIF / HEIC formats can support multiple frames - such as from a burst mode (however, please note that in testing, Apple devices save such files as .MOV (mpeg 4 movie) files and not HEIF/ HEIC and thus these files can not be decoded by DotImage. We support HEIF files with multiple HEIC frames

To make use of multiple frames, you need to use the GetFrameCount() method of the HeifDecoder

int imagesCount = heifDecoder.GetFrameCount(stream);
for (int i = 0; i < imagesCount; i++)
{
    using (AtalaImage atalaImage = heifDecoder.Read(stream, i, null))
    {
        // .. process image here
    }
}

Making use of features Unique to HeifDecoder

There are a couple features unique to HeifDecoder

,p>In order to get access to auxiliary images, thumbnails, metadata, etc. GetHeifDocument(Stream, ProgressEventHandler) method should be used:
HeifDocument heifDocument = heifDecoder.GetHeifDocument(stream, null);
foreach (var heifImage in heifDocument.HeifImages)
{
    // reading auxiliary images
    foreach (var auxiliaryImage in heifImage.AuxiliaryImages)
    {
        // process auxiliary image
    }

    // retrieve AtalaImage 
    var atalaImage = heifImage.GetImage();
}

Details
Last Modified: Last Month
Last Modified By: Tananda
Type: INFO
Article not rated yet.
Article has been viewed 95 times.
Options
Also In This Category