This documentation is for the old version. Go to the latest Graphics Mill docs

JpegEncoderOptions.Exif Property

Gets/sets EXIF data collection you want to write into the file.

Namespace: Aurigma.GraphicsMill.Codecs
Assembly: Aurigma.GraphicsMill (in Aurigma.GraphicsMill.dll)


Visual Basic
Public Property Exif As ExifDictionary
public ExifDictionary Exif { get; set; }

Property Value

ExifDictionary class instance that contains EXIF data collection you want to write into the file.


JPEG files can store EXIF and IPTC data blocks. Graphics Mill for .NET allows you extracting this data from the JPEG file and save it into another JPEG file (as well as into the other file format which supports EXIF and IPTC). This code sample demonstrates how to add the EXIF and IPTC data to the file:

Visual Basic
Dim bitmap As New Aurigma.GraphicsMill.Bitmap("c:\Mountain.jpg")

Dim encoderOptions As New Aurigma.GraphicsMill.Codecs.JpegEncoderOptions(50, True)

Dim exif As New Aurigma.GraphicsMill.Codecs.ExifDictionary
exif(Aurigma.GraphicsMill.Codecs.ExifDictionary.Software) = "Aurigma Graphics Mill"
encoderOptions.Exif = exif

Dim iptc As New Aurigma.GraphicsMill.Codecs.IptcDictionary
iptc(Aurigma.GraphicsMill.Codecs.IptcDictionary.Category) = "Nature"
iptc(Aurigma.GraphicsMill.Codecs.IptcDictionary.CopyrightNotice) = "Aurigma Inc."
iptc(Aurigma.GraphicsMill.Codecs.IptcDictionary.Keyword) = "mountain"

encoderOptions.Iptc = iptc

'Adobe resource blocks
Dim adobeResources As New Aurigma.GraphicsMill.Codecs.AdobeResourceDictionary
'Create new adobe image resource block with the required metadata
Dim arBlock As New Aurigma.GraphicsMill.Codecs.AdobeResourceBlock("Copyright", New Byte() {1})
'Set this block to the item with 0x040A ID (copyright flag)
adobeResources.Item(&H40A) = arBlock

encoderOptions.AdobeResources = adobeResources

Dim xmp As New Aurigma.GraphicsMill.Codecs.XmpData()
'Create a node with the required metadata
Dim node As New Aurigma.GraphicsMill.Codecs.XmpValueNode( _
    Aurigma.GraphicsMill.Codecs.XmpNodeType.SimpleProperty, _
    "John Doe", _

encoderOptions.Xmp = xmp.Save()

bitmap.Save("C:\Mountain2.jpg", encoderOptions)

using (Aurigma.GraphicsMill.Bitmap bitmap = 
           new Aurigma.GraphicsMill.Bitmap(@"c:\Mountain.jpg"))
    Aurigma.GraphicsMill.Codecs.JpegEncoderOptions encoderOptions =
        new Aurigma.GraphicsMill.Codecs.JpegEncoderOptions(50, true);

    Aurigma.GraphicsMill.Codecs.ExifDictionary exif =
        new Aurigma.GraphicsMill.Codecs.ExifDictionary();
    exif[Aurigma.GraphicsMill.Codecs.ExifDictionary.Software] = "Aurigma Graphics Mill";

    encoderOptions.Exif = exif;
    Aurigma.GraphicsMill.Codecs.IptcDictionary iptc =
        new Aurigma.GraphicsMill.Codecs.IptcDictionary();
    iptc[Aurigma.GraphicsMill.Codecs.IptcDictionary.Category] = "Nature";
    iptc[Aurigma.GraphicsMill.Codecs.IptcDictionary.CopyrightNotice] = "Aurigma Inc.";
    iptc[Aurigma.GraphicsMill.Codecs.IptcDictionary.Keyword] = "mountain";

    encoderOptions.Iptc = iptc;

    //Adobe resource blocks
     Aurigma.GraphicsMill.Codecs.AdobeResourceDictionary adobeResources = 
         new Aurigma.GraphicsMill.Codecs.AdobeResourceDictionary();
    //Create new adobe image resource block with the required metadata
    Aurigma.GraphicsMill.Codecs.AdobeResourceBlock arBlock = new
        Aurigma.GraphicsMill.Codecs.AdobeResourceBlock("Copyright", new byte[] { 1 });
    //Set this block to the item with 0x040A ID (copyright flag)
    adobeResources[0x040A] = arBlock;

    encoderOptions.AdobeResources = adobeResources;

    Aurigma.GraphicsMill.Codecs.XmpData xmp = new Aurigma.GraphicsMill.Codecs.XmpData();
    //Create a node with the required metadata
    Aurigma.GraphicsMill.Codecs.XmpValueNode node = new
            "John Doe",

    encoderOptions.Xmp = xmp.Save();

    bitmap.Save(@"C:\Mountain2.jpg", encoderOptions);

See Also