IptcDictionary Class
Definition
- Namespace
- GleamTech.ImageUltimate
- Assembly
- GleamTech.ImageUltimate.dll
Represents a dictionary of IPTC entries.
public sealed class IptcDictionary : IMetadataDictionary<IptcTag, IptcEntry>, IEnumerable<IptcEntry>, IEnumerable
- Inheritance
-
IptcDictionary
- Implements
Examples
//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 info for a specific EXIF tag:
using (var imageInfo = new ImageInfo(@"C:\Input\Picture1.jpg"))
{
var entry = imageInfo.ExifDictionary[ExifTag.Image.Artist];
Console.WriteLine("Tag: " + entry.Tag);
Console.WriteLine("Value: " + entry.Value);
Console.WriteLine("Description: " + entry.Tag.Description);
Console.WriteLine();
if (imageInfo.ExifDictionary.TryGet(ExifTag.Image.Software, out ExifEntry entry2))
{
Console.WriteLine("Tag: " + entry2.Tag);
Console.WriteLine("Value: " + entry2.Value);
Console.WriteLine("Description: " + entry2.Tag.Description);
Console.WriteLine();
}
}
//Show info for a specific IPTC tag:
using (var imageInfo = new ImageInfo(@"C:\Input\Picture1.jpg"))
{
var entry = imageInfo.IptcDictionary[IptcTag.Application2.Byline];
Console.WriteLine("Tag: " + entry.Tag);
Console.WriteLine("Value: " + entry.Value);
Console.WriteLine("Description: " + entry.Tag.Description);
Console.WriteLine();
if (imageInfo.IptcDictionary.TryGet(IptcTag.Application2.ObjectName, out IptcEntry entry2))
{
Console.WriteLine("Tag: " + entry2.Tag);
Console.WriteLine("Value: " + entry2.Value);
Console.WriteLine("Description: " + entry2.Tag.Description);
Console.WriteLine();
}
if (imageInfo.IptcDictionary.TryGet(IptcTag.Application2.Category, out IptcEntry[] entries))
{
foreach (var entry3 in entries)
{
Console.WriteLine("Tag: " + entry3.Tag);
Console.WriteLine("Value: " + entry3.Value);
Console.WriteLine("Description: " + entry3.Tag.Description);
Console.WriteLine();
}
}
}
'Show info for a specific EXIF tag:
Using imageInfo As New ImageInfo("C:\Input\Picture1.jpg")
Dim entry = imageInfo.ExifDictionary(ExifTag.Image.Artist)
Console.WriteLine("Tag: " + entry.Tag.ToString())
Console.WriteLine("Value: " + entry.Value)
Console.WriteLine("Description: " + entry.Tag.Description)
Console.WriteLine()
Dim entry2 As ExifEntry
If imageInfo.ExifDictionary.TryGet(ExifTag.Image.Software, entry2) Then
Console.WriteLine("Tag: " + entry2.Tag.ToString())
Console.WriteLine("Value: " + entry2.Value)
Console.WriteLine("Description: " + entry2.Tag.Description)
Console.WriteLine()
End If
End Using
'Show info for a specific IPTC tag:
Using imageInfo As New ImageInfo("C:\Input\Picture1.jpg")
Dim entry = imageInfo.IptcDictionary(IptcTag.Application2.Byline)
Console.WriteLine("Tag: " + entry.Tag.ToString())
Console.WriteLine("Value: " + entry.Value)
Console.WriteLine("Description: " + entry.Tag.Description)
Console.WriteLine()
Dim entry2 As IptcEntry
If imageInfo.IptcDictionary.TryGet(IptcTag.Application2.ObjectName, entry2) Then
Console.WriteLine("Tag: " + entry2.Tag.ToString())
Console.WriteLine("Value: " + entry2.Value)
Console.WriteLine("Description: " + entry2.Tag.Description)
Console.WriteLine()
End If
Dim entries As IptcEntry()
If imageInfo.IptcDictionary.TryGet(IptcTag.Application2.Category, entries) Then
For Each entry3 In entries
Console.WriteLine("Tag: " + entry3.Tag.ToString())
Console.WriteLine("Value: " + entry3.Value)
Console.WriteLine("Description: " + entry3.Tag.Description)
Console.WriteLine()
Next
End If
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
Constructors
| IptcDictionary() |
Initializes a new instance of the IptcDictionary class. |
Properties
| Count |
Gets the number of entries contained in this dictionary. |
| IsChanged |
Gets a value indicating whether this dictionary is changed. |
| this[IptcTag] |
Gets the first occurrence of the entry for the specified tag. |
Methods
| Clear() |
Removes all entries from this dictionary. |
| Contains(IptcTag) |
Determines whether this dictionary contains an entry with the specified tag. |
| GetEnumerator() |
Returns an enumerator that iterates through this dictionary. |
| Remove(IptcTag) |
Removes all entries for the specified tag from this dictionary. |
| Remove(IptcTag, string) |
Removes the entry for the specified tag and value from this dictionary. |
| Set(IptcTag, object) |
Sets the value for the specified tag in this dictionary. |
| TryGet(IptcTag, out IptcEntry) |
Gets the first occurrence of the entry associated with the specified tag. |
| TryGet(IptcTag, out IptcEntry[]) |
Gets all entries associated with the specified tag. |