---
title: "Frame Class"
canonical: https://www.graphicsmill.com/docs/gm/T_Aurigma_GraphicsMill_Codecs_Frame.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"
---

# Frame Class

**Applies to:** Graphics Mill 12.1, 6.x-12.x (may differ)
 
Represents a base class for all image frames.
 
**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 class Frame : PipelineElement, IImageParams
```
 
## Remarks
  
In general, frames store the following information:
 
- Bitmap. You can get it using [GetBitmap()](https://www.graphicsmill.com/docs/gm/M_Aurigma_GraphicsMill_Codecs_Frame_GetBitmap.htm.md) method.
- Bitmap characteristics such as [Width](https://www.graphicsmill.com/docs/gm/P_Aurigma_GraphicsMill_Codecs_Frame_Width.htm.md), [Height](https://www.graphicsmill.com/docs/gm/P_Aurigma_GraphicsMill_Codecs_Frame_Height.htm.md), [PixelFormat](https://www.graphicsmill.com/docs/gm/P_Aurigma_GraphicsMill_Codecs_Frame_PixelFormat.htm.md), etc. These properties will extract these data without loading entire bitmap into memory, so it works extremely fast.

**Note** 
These data are read from file only once. After you read some property, it is cached and next time it returns pre-loaded data.
 
## Examples
  
```csharp
using (var reader = new TiffReader(@"Images\in.tif"))
{
    for (int i = 0; i < reader.Frames.Count; i++)
    {
        using (var bitmap = reader.Frames[i].GetBitmap())
        {
            bitmap.Save(@"Images\Output\frame_" + i.ToString() + ".jpg");
        }
    }
}
```
 
## Inheritance Hierarchy
  
- System.Object
    - [Aurigma.GraphicsMill.PipelineElement](https://www.graphicsmill.com/docs/gm/T_Aurigma_GraphicsMill_PipelineElement.htm.md)
        - Aurigma.GraphicsMill.Codecs.Frame
            - [Aurigma.GraphicsMill.Codecs.PngFrame](https://www.graphicsmill.com/docs/gm/T_Aurigma_GraphicsMill_Codecs_PngFrame.htm.md)
            - [Aurigma.GraphicsMill.Codecs.TiffFrame](https://www.graphicsmill.com/docs/gm/T_Aurigma_GraphicsMill_Codecs_TiffFrame.htm.md)
            - [Aurigma.GraphicsMill.Codecs.TiffExtraChannel](https://www.graphicsmill.com/docs/gm/T_Aurigma_GraphicsMill_Codecs_TiffExtraChannel.htm.md)
            - [Aurigma.GraphicsMill.Codecs.GifFrame](https://www.graphicsmill.com/docs/gm/T_Aurigma_GraphicsMill_Codecs_GifFrame.htm.md)
            - [Aurigma.GraphicsMill.Codecs.PdfFrame](https://www.graphicsmill.com/docs/gm/T_Aurigma_GraphicsMill_Codecs_PdfFrame.htm.md)
            - [Aurigma.GraphicsMill.Codecs.WebPFrame](https://www.graphicsmill.com/docs/gm/T_Aurigma_GraphicsMill_Codecs_WebPFrame.htm.md)
            - [Aurigma.GraphicsMill.Codecs.Psd.PsdFrame](https://www.graphicsmill.com/docs/gm/T_Aurigma_GraphicsMill_Codecs_Psd_PsdFrame.htm.md)
            - [Aurigma.GraphicsMill.Codecs.Psd.PsdSpotChannel](https://www.graphicsmill.com/docs/gm/T_Aurigma_GraphicsMill_Codecs_Psd_PsdSpotChannel.htm.md)
 
## 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

- [Frame Members](https://www.graphicsmill.com/docs/gm/AllMembers_T_Aurigma_GraphicsMill_Codecs_Frame.htm.md)
- [Aurigma.GraphicsMill.Codecs Namespace](https://www.graphicsmill.com/docs/gm/N_Aurigma_GraphicsMill_Codecs.htm.md)
