ExifDictionary Class

Represents a dictionary of EXIF entries.

Definition

Namespace: GleamTech.ImageUltimate
Assembly: GleamTech.ImageUltimate (in GleamTech.ImageUltimate.dll) Version: 6.2.0
C#
public sealed class ExifDictionary : IMetadataDictionary<ExifTag, ExifEntry>, 
	IEnumerable<ExifEntry>, IEnumerable
Inheritance
Object    ExifDictionary
Implements
IMetadataDictionaryExifTag, ExifEntry, IEnumerableExifEntry, IEnumerable

Example

C#
//Load image info of "c:\SomeFolder\InputFile.png"
using (var imageInfo = new ImageInfo(@"c:\SomeFolder\InputFile.png"))
{
}

//---------------------------------------

//Load with a virtual path string:
//See below for other path string examples.
using (var imageInfo = new ImageInfo("~/SomeFolder/InputFile.png"))
{
}

//Load with a URL string:
//See below for other path string examples.
using (var imageInfo = new ImageInfo("http://example.com/SomeFolder/InputFile.png"))
{
}

//Load with a Data URL string:
//See below for other path string examples.
using (var imageInfo = new ImageInfo("data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7"))
{
}

//Load with a file provider instance:
//See below for other file provider examples (UNC Path, AmazonS3, AzureBlob, Database etc.).
var fileProvider = new FileSystemFileProvider
{
    File = "InputFile.png",
    Location = new PhysicalLocation
    {
        Path = @"c:\SomeFolder"
    }
};
using (var imageInfo = new ImageInfo(fileProvider))
{
}

//Load with a provider string:
//See below for other provider string examples (UNC Path, AmazonS3, AzureBlob, Database etc.).
using (var imageInfo = new ImageInfo(@"Type=FileSystem; File=InputFile.png; Location='Type=Physical; Path=c:\SomeFolder'"))
{
}

C#
//Show all image info including EXIF and IPTC metadata
using (var imageInfo = new ImageInfo(@"C:\Input\Picture1.jpg"))
{
    Console.WriteLine("Info:");
    Console.WriteLine("----------------------------");
    Console.WriteLine("Format: " + imageInfo.Format);
    Console.WriteLine("Width: " + imageInfo.Width);
    Console.WriteLine("Height: " + imageInfo.Height);
    Console.WriteLine("ResolutionX: " + imageInfo.ResolutionX);
    Console.WriteLine("ResolutionY: " + imageInfo.ResolutionY);
    Console.WriteLine("ColorSpace: " + imageInfo.ColorSpace);
    Console.WriteLine("ColorType: " + imageInfo.ColorType);
    Console.WriteLine("BitDepth: " + imageInfo.BitDepth);
    Console.WriteLine("HasAlpha: " + imageInfo.HasAlpha);
    Console.WriteLine("ChannelCount: " + imageInfo.ChannelCount);

    Console.WriteLine();
    Console.WriteLine("Exif:");
    Console.WriteLine("----------------------------");
    foreach (var entry in imageInfo.ExifDictionary)
    {
        Console.WriteLine("Tag: " + entry.Tag);
        Console.WriteLine("Value: " + entry.Value);
        Console.WriteLine("Description: " + entry.Tag.Description);
        Console.WriteLine();
    }

    Console.WriteLine();
    Console.WriteLine("Iptc:");
    Console.WriteLine("----------------------------");
    foreach (var entry in imageInfo.IptcDictionary)
    {
        Console.WriteLine("Tag: " + entry.Tag);
        Console.WriteLine("Value: " + entry.Value);
        Console.WriteLine("Description: " + entry.Tag.Description);
        Console.WriteLine();
    }
}

C#
//Modifying EXIF metadata:
using (var imageTask = new ImageTask(@"C:\Input\Picture1.jpg"))
{
    imageTask.Info.ExifDictionary.Remove(ExifTag.Image.Software);
    imageTask.Info.ExifDictionary.Set(ExifTag.Image.Artist, "UPDATED Artist TAG");

    imageTask.Info.IptcDictionary.Remove(IptcTag.Application2.Byline);
    imageTask.Info.IptcDictionary.Set(IptcTag.Application2.ObjectName, "UPDATED ObjectName TAG");

    imageTask.Save(@"C:\Output\Picture2.jpg");
}

Constructors

ExifDictionary Initializes a new instance of the ExifDictionary class.

Properties

CountGets the number of entries contained in this dictionary.
IsChangedGets a value indicating whether this dictionary is changed.
ItemGets the entry for the specified tag.

Methods

ClearRemoves all entries from this dictionary.
ContainsDetermines whether this dictionary contains an entry with the specified tag.
GetEnumerator Returns an enumerator that iterates through this dictionary.
RemoveRemoves the entry for the specified tag from this dictionary.
SetSets the value for the specified tag in this dictionary.
TryGetGets the entry associated with the specified tag.

See Also