---
title: "AdobeResourceDictionary Class"
canonical: https://www.graphicsmill.com/docs/gm/T_Aurigma_GraphicsMill_Codecs_AdobeResourceDictionary.htm
archived: false
applies_to:
  - product: "Graphics Mill"
    versions: ["12.1", "6.x-12.x (may differ)"]
    entity_id: "https://www.graphicsmill.com/#software-application"
---

# AdobeResourceDictionary Class

**Applies to:** Graphics Mill 12.1, 6.x-12.x (may differ)
 
Represents a dictionary of Adobe® image resource blocks, each block is represented by the [AdobeResourceBlock](https://www.graphicsmill.com/docs/gm/T_Aurigma_GraphicsMill_Codecs_AdobeResourceBlock.htm.md) class.
 
**Namespace:** [Aurigma.GraphicsMill.Codecs](https://www.graphicsmill.com/docs/gm/N_Aurigma_GraphicsMill_Codecs.htm.md)
 **Assembly:** Aurigma.GraphicsMill (in Aurigma.GraphicsMill.dll)
 
## Syntax
  
```csharp
public sealed class AdobeResourceDictionary : MetadataDictionary, ICloneable
```
 
## Remarks
  
Adobe® applications (first of all Adobe® Photoshop®) store meta-information in so called Adobe® image resource blocks. Graphics Mill provides the AdobeResourceDictionary class to facilitate work with these data.
 
All functionality of this class is implemented in base class [MetadataDictionary](https://www.graphicsmill.com/docs/gm/T_Aurigma_GraphicsMill_Codecs_MetadataDictionary.htm.md). To put or get some Adobe® image resource block, you should use the [Item\[Object\]](https://www.graphicsmill.com/docs/gm/P_Aurigma_GraphicsMill_Codecs_MetadataDictionary_Item_1_d02429b3.htm.md) property. Just pass ID of the Adobe® image resource block as an argument into this property. Refer [Adobe® Photoshop® File Formats Specification](http://www.adobe.com/devnet-apps/photoshop/fileformatashtml/PhotoshopFileFormats.htm) for exact Adobe® image resource block ID values.
 
## Examples
  
The following code removes the thumbnail from Adobe image resource blocks and marks the image as copyrighted. Thumbnail block ID is 0x0409 and copyright flag ID is 0x040A.
 
```csharp
using (var reader = new JpegReader(@"Images\in.jpg"))
{
    // Open reader on the file you need to modify metadata for  
    var adobeResources = reader.AdobeResources;
    if (adobeResources == null)
        adobeResources = new AdobeResourceDictionary();

    // Create new adobe image resource block with the required metadata
    var arBlock = new AdobeResourceBlock("Copyright", new byte[] { 1 });
    // Set this block to the item with 0x040A ID (copyright flag)
    adobeResources[0x040A] = arBlock;
    // Remove a block with 0x0409 (thumbnail data)
    adobeResources.Remove(0x0409);

    // Write new image and metadata
    using (var writer = new JpegWriter(@"Images\out.jpg"))
    {
        writer.AdobeResources = adobeResources;
        Pipeline.Run(reader + writer);
    }
}
```
 
## Inheritance Hierarchy
  
- System.Object
    - [Aurigma.GraphicsMill.Codecs.MetadataDictionary](https://www.graphicsmill.com/docs/gm/T_Aurigma_GraphicsMill_Codecs_MetadataDictionary.htm.md)
        - Aurigma.GraphicsMill.Codecs.AdobeResourceDictionary
 
## Thread Safety
 Static members of this type are not safe for multi-threaded operations. Instance members of this type are not safe for multi-threaded operations.
   
## See Also

### Reference

- [AdobeResourceDictionary Members](https://www.graphicsmill.com/docs/gm/AllMembers_T_Aurigma_GraphicsMill_Codecs_AdobeResourceDictionary.htm.md)
- [Aurigma.GraphicsMill.Codecs Namespace](https://www.graphicsmill.com/docs/gm/N_Aurigma_GraphicsMill_Codecs.htm.md)
- [Aurigma.GraphicsMill.Codecs.AdobeResourceBlock](https://www.graphicsmill.com/docs/gm/T_Aurigma_GraphicsMill_Codecs_AdobeResourceBlock.htm.md)

### Manual

- [Adobe Image Resource Blocks](https://www.graphicsmill.com/docs/gm/adobe-image-resource-blocks.htm.md)
- [Adobe® Photoshop® File Formats Specification](http://www.adobe.com/devnet-apps/photoshop/fileformatashtml/PhotoshopFileFormats.htm)
