A System.Drawing.Image object supports the
addition of arbitrary metadata through the
System.Drawing.Image.SetPropertyItem() and
System.Drawing.Image.RemovePropertyItem()
methods. This class encapsulates that property.
You can specify an integer Id for the property,
along with its length (Len) in bytes and its type
(a short). The value itself is an array of bytes, the length of which
is determined by the Len property mentioned
earlier.
As with much of the more advanced parts of the GDI+ framework, this
byte-oriented arbitrary data storage hints rather heavily at the fact
that it is a thin wrapper over an unmanaged (but undocumented) API.
public sealed class PropertyItem {
// Public Instance Properties
public int Id{set; get; }
public int Len{set; get; }
public short Type{set; get; }
public byte[ ] Value{set; get; }
}