ExifDictionary Class
Represents a dictionary of EXIF entries.
Namespace: GleamTech.ImageUltimateAssembly: GleamTech.ImageUltimate (in GleamTech.ImageUltimate.dll) Version: 6.2.0
public sealed class ExifDictionary : IMetadataDictionary<ExifTag, ExifEntry>,
IEnumerable<ExifEntry>, IEnumerable
Public NotInheritable Class ExifDictionary
Implements IMetadataDictionary(Of ExifTag, ExifEntry),
IEnumerable(Of ExifEntry), IEnumerable
- Inheritance
- Object ExifDictionary
- Implements
- IMetadataDictionaryExifTag, ExifEntry, IEnumerableExifEntry, IEnumerable
//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'"))
{
}
'Load image info of "c:\SomeFolder\InputFile.png"
Using imageInfo As New ImageInfo("c:\SomeFolder\InputFile.png")
End Using
'---------------------------------------
'Load with a virtual path string:
'See below for other path string examples.
Using imageInfo As New ImageInfo("~/SomeFolder/InputFile.png")
End Using
'Load with a URL string:
'See below for other path string examples.
Using imageInfo As New ImageInfo("http://example.com/SomeFolder/InputFile.png")
End Using
'Load with a Data URL string:
'See below for other path string examples.
Using imageInfo As New ImageInfo("data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7")
End Using
'Load with a file provider instance:
'See below for other file provider examples (UNC Path, AmazonS3, AzureBlob, Database etc.).
Dim fileProvider As New FileSystemFileProvider() With {
.File = "InputFile.png",
.Location = New PhysicalLocation() With {
.Path = "c:\SomeFolder"
}
}
Using imageInfo As New ImageInfo(fileProvider)
End Using
'Load with a provider string:
'See below for other provider string examples (UNC Path, AmazonS3, AzureBlob, Database etc.).
Using imageInfo As New ImageInfo("Type=FileSystem; File=InputFile.png; Location='Type=Physical; Path=c:\SomeFolder'")
End Using
//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();
}
}
'Show all image info including EXIF and IPTC metadata
Using imageInfo As New ImageInfo("C:\Pictures\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("----------------------------")
For Each entry In imageInfo.ExifDictionary
Console.WriteLine("Tag: " + entry.Tag.ToString())
Console.WriteLine("Value: " + entry.Value)
Console.WriteLine("Description: " + entry.Tag.Description)
Console.WriteLine()
Next
Console.WriteLine()
Console.WriteLine("Iptc:")
Console.WriteLine("----------------------------")
For Each entry In imageInfo.IptcDictionary
Console.WriteLine("Tag: " + entry.Tag.ToString())
Console.WriteLine("Value: " + entry.Value)
Console.WriteLine("Description: " + entry.Tag.Description)
Console.WriteLine()
Next
End Using
//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");
}
'Modifying EXIF metadata:
Using 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")
End Using
ExifDictionary |
Initializes a new instance of the ExifDictionary class.
|
Count | Gets the number of entries contained in this dictionary. |
IsChanged | Gets a value indicating whether this dictionary is changed. |
Item | Gets the entry for the specified tag. |
Clear | Removes all entries from this dictionary. |
Contains | Determines whether this dictionary contains an entry with the specified tag. |
GetEnumerator |
Returns an enumerator that iterates through this dictionary.
|
Remove | Removes the entry for the specified tag from this dictionary. |
Set | Sets the value for the specified tag in this dictionary. |
TryGet | Gets the entry associated with the specified tag. |