---
title: "AdobeResourceBlock Class"
canonical: https://www.graphicsmill.com/docs/gm/T_Aurigma_GraphicsMill_Codecs_AdobeResourceBlock.htm
product: "Graphics Mill"
---

# AdobeResourceBlock Class
 
Represents the Adobe® image resource block.
 
**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 AdobeResourceBlock : IDisposable
```
 
## Remarks
  
Image resource blocks are one of the basic building units of several file formats, including Photoshop native file format, JPEG, and TIFF. Image resources are used to store non-pixel data associated with an image, such as pen tool paths.
 
**Note** 
Graphics Mill does not perform any validation of the resource data internal structure while encoding. So, you should provide correctly generated AdobeResourceBlock instances. Files containing incorrect Adobe® image resource blocks can produce errors during opening or processing in Adobe® applications.
 
## 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.AdobeResourceBlock
 
## Thread Safety
 Static members of this type are safe for multi-threaded operations. Instance members of this type are not safe for multi-threaded operations.
   
## See Also

### Reference

- [AdobeResourceBlock Members](https://www.graphicsmill.com/docs/gm/AllMembers_T_Aurigma_GraphicsMill_Codecs_AdobeResourceBlock.htm.md)
- [Aurigma.GraphicsMill.Codecs Namespace](https://www.graphicsmill.com/docs/gm/N_Aurigma_GraphicsMill_Codecs.htm.md)
- [Aurigma.GraphicsMill.Codecs.AdobeResourceDictionary](https://www.graphicsmill.com/docs/gm/T_Aurigma_GraphicsMill_Codecs_AdobeResourceDictionary.htm.md)

### Manual

- [Adobe Image Resource Blocks](https://www.graphicsmill.com/docs/gm/adobe-image-resource-blocks.htm.md)
