Aurigma Graphics Mill 5.5 for .NET
JpegReader..::.Exif Property
Gets EXIF data collection from file.
Namespace:
Aurigma.GraphicsMill.Codecs
Assembly:
Aurigma.GraphicsMill (in Aurigma.GraphicsMill.dll)
Syntax
Visual Basic
Public ReadOnly Property Exif As ExifDictionary
C#
public ExifDictionary Exif { get; }
Property Value
ExifDictionary class instance that contains EXIF data collection obtained from the file.Implements
Examples
The code below demonstrates how to extract and display both EXIF and IPTC data.
Visual Basic
Dim bitmap As New Aurigma.GraphicsMill.Bitmap
'Read bitmap and metadata
Dim jpegReader As New Aurigma.GraphicsMill.Codecs.JpegReader("C:\IMG_0001.jpg")
'Read metadata
Dim exif As Aurigma.GraphicsMill.Codecs.ExifDictionary = jpegReader.Exif
Dim iptc As Aurigma.GraphicsMill.Codecs.IptcDictionary = jpegReader.Iptc
'Read bitmap
Dim frame As Aurigma.GraphicsMill.Codecs.Frame = jpegReader.LoadFrame(0)
frame.GetBitmap(bitmap)
frame.Dispose()
jpegReader.Dispose()
'Show EXIF tags
If Not exif Is Nothing Then
Console.WriteLine("EXIF")
Console.WriteLine("---------------")
For Each key As Long In exif.Keys
Console.WriteLine("{0}: {1}, {2}", exif.GetKeyDescription(key), _
exif.Item(key), exif.GetItemString(key))
Next
End If
'Show IPTC tags
If Not iptc Is Nothing Then
Console.WriteLine("IPTC")
Console.WriteLine("---------------")
For Each key As Long In iptc.Keys
Console.WriteLine("{0}: {1}, {2}", iptc.GetKeyDescription(key), _
iptc.Item(key), iptc.GetItemString(key))
Next
End If
'Process bitmap...
bitmap.Transforms.RotateAndFlip(System.Drawing.RotateFlipType.Rotate90FlipNone)
'...
C#
using (Aurigma.GraphicsMill.Bitmap bitmap =
new Aurigma.GraphicsMill.Bitmap())
{
//Read bitmap and metadata
Aurigma.GraphicsMill.Codecs.ExifDictionary exif = null;
Aurigma.GraphicsMill.Codecs.IptcDictionary iptc = null;
using (Aurigma.GraphicsMill.Codecs.JpegReader jpegReader =
new Aurigma.GraphicsMill.Codecs.JpegReader(@"C:\IMG_0001.jpg"))
{
//Read metadata
exif = jpegReader.Exif;
iptc = jpegReader.Iptc;
//Read bitmap
using (Aurigma.GraphicsMill.Codecs.IFrame frame = jpegReader.LoadFrame(0))
{
frame.GetBitmap(bitmap);
}
}
//Show EXIF tags
if (exif != null)
{
Console.WriteLine("EXIF");
Console.WriteLine("---------------");
foreach (long key in exif.Keys)
{
Console.WriteLine("{0}: {1}, {2}", exif.GetKeyDescription(key),
exif[key], exif.GetItemString(key));
}
}
//Show IPTC tags
if (iptc != null)
{
Console.WriteLine("IPTC");
Console.WriteLine("---------------");
foreach (long key in iptc.Keys)
{
Console.WriteLine("{0}: {1}, {2}", iptc.GetKeyDescription(key),
iptc[key], iptc.GetItemString(key));
}
}
//Process bitmap...
bitmap.Transforms.RotateAndFlip(System.Drawing.RotateFlipType.Rotate90FlipNone);
//...
}