HEIC (High-Efficiency Image Container) is a container that can contain High-Efficiency Image Format HEIF images. XMP is an XML-based metadata standard, that can store metadata properties as name/value pairs. However, EXIF (Exchangeable Image File Format) is the standard and defines how to store metadata properties in the most common images and audio formats. In this article, we will learn how to extract, update, and remove the XMP and EXIP metadata of the HEIF/HEIC images using C# within .NET applications.
GroupDocs.Metadata provides .NET API to automate metadata management within .NET applications. The API allows to read, update, add, clean/remove, and traverse the metadata for many file formats. Various metadata standards like EXIF, IPTC, and XMP are supported by the API. You can also visit the documentation for the complete list of supported file formats for metadata manipulation.
You can download the DLLs or MSI installer from the downloads section or install the API in your .NET application via NuGet.
PM> Install-Package GroupDocs.Metadata
Read EXIF data of HEIC / HEIF Images in C#
The following are the steps to read and extract EXIF data of HEIC and HEIF images.
Load the HEIF or HEIC image using the Metadata class.
Get the root package.
Retrieve the EXIF package from the root package.
Traverse the EXIF data properties.
Furthermore, you can get the IFD (Image File Directory) and GPS information from the EXIF package.
The following code shows how to get EXIF data, IFD and GPS metadata information of the HEIC image using C#.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
The following steps reads XMP metadata of HEIC or HEIF images.
Load the HEIF or HEIC image using the Metadata class.
Get the root package using the getRootPackage method.
From the root package, you can get the XMP basic information.
Further, you can get the DCMI Dublin Core information.
Additionally, you can get Photoshop information using the getPhotoshop method.
The following source code shows how to get XMP basic, DCMI, and Photoshop information in C#.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Remove EXIF and XMP Metadata of HEIC/HEIF Images in C#
You can just set the respective EXIF package or XMP package to null to remove all the metadata properties.
The following code removes the EXIF data of HEIC images in C#.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
The following code removes the XMP data of HEIC images in C#.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
To sum up, we have learned to extract, update, remove EXIF and XMP metadata from the HEIF/HEIC images in C#. Furthermore, you have seen how to get IFD and GPS information from these images. Now you can easily get this information and also start building your own applications like GroupDocs.Metadata App Product Family to automate metadata information.
For more information, options, and examples, you can visit the documentation and the GitHub repository. For further queries, contact us on the support forum.