- About Graphics Mill
- What's New?
- Breaking Changes in Graphics Mill 12
- Breaking Changes in Graphics Mill 11
- Features
- Supported File Formats
- System Requirements
- Getting Started
- Working with Image Formats
- Transforming Images (Resize, Rotate, Crop)
- Working with Metadata
- Color Management and Color Reduction
- Drawing Text and Graphics
- Color Keying (Green Screen Removal)
- Channels and Pixel Data
- Color and Tone Correction
- Working with Photoshop (PSD) Files
- Image Filters
- Processing Large Images
- Basics of Image Processing
- Troubleshooting
- Class Library Reference
- Aurigma.GraphicsMill Namespace
- Aurigma.GraphicsMill.Codecs Namespace
- AdobeResourceBlock Class
- AdobeResourceDictionary Class
- BmpReader Class
- BmpSettings Class
- BmpWriter Class
- CIP4 Class
- CodecRegistry Class
- ColorBitDepth Enumeration
- CompressionType Enumeration
- CustomImageReader Class
- CustomImageWriter Class
- CustomReaderCreateCallback Delegate
- DisposalMethod Enumeration
- EpsReader Class
- EpsSettings Class
- EpsWriter Class
- ExifDictionary Class
- ExifItemInfo Class
- FileFormat Enumeration
- Frame Class
- FrameCollection(TFrame) Class
- FrameCollectionBase Class
- GifFrame Class
- GifFrameSettings Class
- GifReader Class
- GifSettings Class
- GifWriter Class
- IImageReader Interface
- IImageWriter Interface
- ImageReader Class
- ImageWriter Class
- IMetadataWriter Interface
- IptcDictionary Class
- IXmpDictionary Interface
- JpegAlignToSampleSizeMode Enumeration
- JpegMarkerException Class
- JpegReader Class
- JpegScale Enumeration
- JpegSettings Class
- JpegWriter Class
- LosslessJpeg Class
- MediaCorruptedException Class
- MediaProviderException Class
- MediaUnsupportedException Class
- MetadataDictionary Class
- MetadataEnumerator Class
- MultiFrameException Class
- OutputIntent Class
- PdfFrame Class
- PdfPage Class
- PdfReader Class
- PdfSettings Class
- PdfTextOutputMode Enumeration
- PdfVtDictionary Class
- PdfVtOptions Class
- PdfWriter Class
- PngFrame Class
- PngReader Class
- PngSettings Class
- PngWriter Class
- RawReader Class
- ResolveImageArgs Class
- ResolveImageCallback Delegate
- ResolveProfileCallback Delegate
- SmartObjectCropTo Enumeration
- SvgReader Class
- SvgReaderSettings Class
- SvgSettings Class
- SvgWriter Class
- TgaReader Class
- TgaSettings Class
- TgaWriter Class
- TiffChannelType Enumeration
- TiffExtraChannel Class
- TiffExtraChannelCollection Class
- TiffExtraChannelEntry Class
- TiffFrame Class
- TiffReader Class
- TiffSettings Class
- TiffWriter Class
- WebPFrame Class
- WebPFrameFormat Enumeration
- WebPFrameSettings Class
- WebPReader Class
- WebPSettings Class
- WebPWriter Class
- WriterSettings Class
- XmpArrayNode Class
- XmpData Class
- XmpDictionaryNode Class
- XmpLocalizedTextItemNode Class
- XmpLocalizedTextNode Class
- XmpNamespace Class
- XmpNode Class
- XmpNodeType Enumeration
- XmpStructNode Class
- XmpTagNames Class
- XmpValueNode Class
- Aurigma.GraphicsMill.Codecs.ClippingPath Namespace
- Aurigma.GraphicsMill.Codecs.Psd Namespace
- Aurigma.GraphicsMill.Drawing Namespace
- Aurigma.GraphicsMill.Drawing.Art Namespace
- Aurigma.GraphicsMill.Drawing.Effects Namespace
- Aurigma.GraphicsMill.Licensing Namespace
- Aurigma.GraphicsMill.Templates Namespace
- Aurigma.GraphicsMill.Transforms Namespace
- Licensing
- End User License Agreement
- Copyright Notices
IptcDictionary Class
Represents a dictionary of IPTC fields.
Namespace:
Aurigma.GraphicsMill.Codecs
Assembly:
Aurigma.GraphicsMill (in Aurigma.GraphicsMill.dll)
Syntax
public sealed class IptcDictionary : MetadataDictionary, ICloneable
Remarks
All functionality of this class is implemented in base class MetadataDictionary. To put or get some IPTC field, you should use the Item[Object] property. Just pass ID of the IPTC field as an argument into this property. Refer IPTC specification for exact field ID values. Alternatively you can use static members Caption, Writer, Keyword, and others. Exact interpretations of these parameters can be found at IPTC specification. Currently specification 4.1 is supported.
IPTC tags consist of two numbers. For example, "2:25" means "Keywords". To be able to pass these numbers into Item[Object], you should pack them as follows: first byte stores the second number (25 in this example), the second byte stores the first number (2 in this example). Other two bytes are not used.
Examples
The code below demonstrates how to extract and display both EXIF and IPTC data.
using (var jpegReader = new JpegReader(@"Images\in.jpg"))
{
//Read metadata
var exif = jpegReader.Exif;
var iptc = jpegReader.Iptc;
//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));
}
}
}