Aurigma Graphics Mill 5.5 for .NET
JpegWriter..::.Iptc Property
Gets/sets IPTC data collection you want to write into the file.
Namespace:
Aurigma.GraphicsMill.Codecs
Assembly:
Aurigma.GraphicsMill (in Aurigma.GraphicsMill.dll)
Syntax
Visual Basic
Public Property Iptc As IptcDictionary
C#
public IptcDictionary Iptc { get; set; }
Property Value
IptcDictionary class instance that contains IPTC data collection you want to write into the file.Implements
Examples
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 writer As New Aurigma.GraphicsMill.Codecs.JpegWriter("C:\Mountain2.jpg")
'EXIF
Dim exif As New Aurigma.GraphicsMill.Codecs.ExifDictionary
exif(Aurigma.GraphicsMill.Codecs.ExifDictionary.Software) = "Aurigma Graphics Mill"
writer.Exif = exif
'IPTC
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"
writer.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
writer.AdobeResources = adobeResources
'XMP
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", _
Aurigma.GraphicsMill.Codecs.XmpTagNames.DCCreator)
xmp.AddNode(node)
writer.Xmp = xmp.Save()
Dim frame As New Aurigma.GraphicsMill.Codecs.JpegFrame(50, True)
frame.SetBitmap(bitmap)
bitmap.Dispose()
writer.AddFrame(frame)
frame.Dispose()
writer.Dispose()
C#
using (Aurigma.GraphicsMill.Bitmap bitmap =
new Aurigma.GraphicsMill.Bitmap(@"c:\Mountain.jpg"))
{
using (Aurigma.GraphicsMill.Codecs.JpegWriter writer =
new Aurigma.GraphicsMill.Codecs.JpegWriter(@"C:\Mountain2.jpg"))
{
//EXIF
Aurigma.GraphicsMill.Codecs.ExifDictionary exif =
new Aurigma.GraphicsMill.Codecs.ExifDictionary();
exif[Aurigma.GraphicsMill.Codecs.ExifDictionary.Software] = "Aurigma Graphics Mill";
writer.Exif = exif;
//IPTC
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";
writer.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;
writer.AdobeResources = adobeResources;
//XMP
Aurigma.GraphicsMill.Codecs.XmpData xmp = new Aurigma.GraphicsMill.Codecs.XmpData();
//Create a node with the required metadata
Aurigma.GraphicsMill.Codecs.XmpValueNode node = new
Aurigma.GraphicsMill.Codecs.XmpValueNode(
Aurigma.GraphicsMill.Codecs.XmpNodeType.SimpleProperty,
"John Doe",
Aurigma.GraphicsMill.Codecs.XmpTagNames.DCCreator);
xmp.AddNode(node);
writer.Xmp = xmp.Save();
using (Aurigma.GraphicsMill.Codecs.JpegFrame frame =
new Aurigma.GraphicsMill.Codecs.JpegFrame(50, true))
{
frame.SetBitmap(bitmap);
writer.AddFrame(frame);
}
}
}