---
title: "Bitmap Class"
canonical: https://www.graphicsmill.com/docs/gm/T_Aurigma_GraphicsMill_Bitmap.htm
product: "Graphics Mill"
---

# Bitmap Class
 
Represents a bitmap, i.e. an object which stores raster data.
 
**Namespace:** [Aurigma.GraphicsMill](https://www.graphicsmill.com/docs/gm/N_Aurigma_GraphicsMill.htm.md)
 **Assembly:** Aurigma.GraphicsMill (in Aurigma.GraphicsMill.dll)
 
## Syntax
  
```csharp
public sealed class Bitmap : Image, ISerializable
```
 
## Remarks
  
This class incapsulates a raster image and stores a bitmap as well as other related data.
 
Using appropriate properties you can get such details about loaded image as [Width](https://www.graphicsmill.com/docs/gm/P_Aurigma_GraphicsMill_Bitmap_Width.htm.md), [Height](https://www.graphicsmill.com/docs/gm/P_Aurigma_GraphicsMill_Bitmap_Height.htm.md), [PixelFormat](https://www.graphicsmill.com/docs/gm/P_Aurigma_GraphicsMill_Bitmap_PixelFormat.htm.md), etc.
 
To apply some effect or transform, you should pass this bitmap into the [Apply(Bitmap)](https://www.graphicsmill.com/docs/gm/M_Aurigma_GraphicsMill_Transforms_Transform_Apply_1_fd4033ef.htm.md) method of an appropriate [Transform](https://www.graphicsmill.com/docs/gm/T_Aurigma_GraphicsMill_Transforms_Transform.htm.md) class descendant. Alternatively, you can use the [Transforms](https://www.graphicsmill.com/docs/gm/P_Aurigma_GraphicsMill_Bitmap_Transforms.htm.md) property which returns the [TransformsProvider](https://www.graphicsmill.com/docs/gm/T_Aurigma_GraphicsMill_TransformsProvider.htm.md). It is less flexible, but has shorter syntax.
 
If you need to work with bitmap channels: split channels into several grayscale bitmaps, replace some channel with a grayscale image, swap channels, add/remove an alpha channel, etc. In this case you can use the [Channels](https://www.graphicsmill.com/docs/gm/P_Aurigma_GraphicsMill_Bitmap_Channels.htm.md) property which returns the [ChannelsProvider](https://www.graphicsmill.com/docs/gm/T_Aurigma_GraphicsMill_ChannelsProvider.htm.md).
 
If you need to get/set the single pixel value, you can use easy-to-use pair of methods [GetPixel(Int32, Int32)](https://www.graphicsmill.com/docs/gm/M_Aurigma_GraphicsMill_Bitmap_GetPixel_2_22dcb54d.htm.md)/[SetPixel(Int32, Int32, Color)](https://www.graphicsmill.com/docs/gm/M_Aurigma_GraphicsMill_Bitmap_SetPixel_3_5b67216d.htm.md).
 
To save the result to file you can either use format writers or the [Save(String)](https://www.graphicsmill.com/docs/gm/M_Aurigma_GraphicsMill_Bitmap_Save_1_bb3a7a4f.htm.md) method.
 
## Examples
  
```csharp
var bitmap = new Bitmap(@"Images\in.jpg");
```
 
## Inheritance Hierarchy
  
- System.Object
    - [Aurigma.GraphicsMill.PipelineElement](https://www.graphicsmill.com/docs/gm/T_Aurigma_GraphicsMill_PipelineElement.htm.md)
        - [Aurigma.GraphicsMill.Image](https://www.graphicsmill.com/docs/gm/T_Aurigma_GraphicsMill_Image.htm.md)
            - Aurigma.GraphicsMill.Bitmap
 
## 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

- [Bitmap Members](https://www.graphicsmill.com/docs/gm/AllMembers_T_Aurigma_GraphicsMill_Bitmap.htm.md)
- [Aurigma.GraphicsMill Namespace](https://www.graphicsmill.com/docs/gm/N_Aurigma_GraphicsMill.htm.md)

### Manual

- [Understanding Image Processing Approaches in Graphics Mill](https://www.graphicsmill.com/docs/gm/understanding-image-processing-approaches-in-graphics-mill.htm.md)
