---
title: "Wave Class"
canonical: https://www.graphicsmill.com/docs/gm5/T_Aurigma_GraphicsMill_Transforms_Wave.htm
product: "Graphics Mill 5.5 for .NET"
---

This documentation is for the old version. [Go to the latest Graphics Mill docs](https://www.graphicsmill.com/docs/gm/)

# Wave Class
 
This class enables you to apply wave transform.
 
**Namespace:** [Aurigma.GraphicsMill.Transforms](https://www.graphicsmill.com/docs/gm5/N_Aurigma_GraphicsMill_Transforms.htm.md)
 **Assembly:** Aurigma.GraphicsMill (in Aurigma.GraphicsMill.dll)
 
## Syntax
  
```
Public NotInheritable Class Wave _Inherits BitmapTransform
```
 
```csharp
public sealed class Wave : BitmapTransform
```
 
## Remarks
  
Using this class you can make the image distorted to repeat specified wave form. Wave can be both horizontal and vertical. You can specify such wave parameters as amplitude ([HorizontalAmplitude](https://www.graphicsmill.com/docs/gm5/P_Aurigma_GraphicsMill_Transforms_Wave_HorizontalAmplitude.htm.md) and [VerticalAmplitude](https://www.graphicsmill.com/docs/gm5/P_Aurigma_GraphicsMill_Transforms_Wave_VerticalAmplitude.htm.md) properties), start phase ([HorizontalStartPhase](https://www.graphicsmill.com/docs/gm5/P_Aurigma_GraphicsMill_Transforms_Wave_HorizontalStartPhase.htm.md) and [VerticalStartPhase](https://www.graphicsmill.com/docs/gm5/P_Aurigma_GraphicsMill_Transforms_Wave_VerticalStartPhase.htm.md) properties), and length ([HorizontalWavelength](https://www.graphicsmill.com/docs/gm5/P_Aurigma_GraphicsMill_Transforms_Wave_HorizontalWavelength.htm.md) and [VerticalWavelength](https://www.graphicsmill.com/docs/gm5/P_Aurigma_GraphicsMill_Transforms_Wave_VerticalWavelength.htm.md) properties). Wave form is specified with [WaveType](https://www.graphicsmill.com/docs/gm5/P_Aurigma_GraphicsMill_Transforms_Wave_WaveType.htm.md) property.
 
Essential parameter of all the geometric Transforms (including wave transform) is an interpolation algorithm. It specifies how to calculate intermediate points. Different algorithms produces different quality, but as usual the higher quality it produces, the slower algorithm works. You can select interpolation algorithm with [InterpolationMode](https://www.graphicsmill.com/docs/gm5/P_Aurigma_GraphicsMill_Transforms_Wave_InterpolationMode.htm.md) property.
 
All the coordinates and sizes are measured in units specified with [Unit](https://www.graphicsmill.com/docs/gm5/P_Aurigma_GraphicsMill_UnitConverterHandler_Unit.htm.md) property.
 
## Inheritance Hierarchy
  
- [System.Object](http://msdn2.microsoft.com/en-us/e5kfa45b)
    - [Aurigma.GraphicsMill.SyncHandler](https://www.graphicsmill.com/docs/gm5/T_Aurigma_GraphicsMill_SyncHandler.htm.md)
        - [Aurigma.GraphicsMill.UnitConverterHandler](https://www.graphicsmill.com/docs/gm5/T_Aurigma_GraphicsMill_UnitConverterHandler.htm.md)
            - [Aurigma.GraphicsMill.Transforms.BitmapTransform](https://www.graphicsmill.com/docs/gm5/T_Aurigma_GraphicsMill_Transforms_BitmapTransform.htm.md)
                - Aurigma.GraphicsMill.Transforms.Wave
 
## Thread Safety
 Static members of this type are safe for multi-threaded operations. Instance members of this type are safe for multi-threaded operations.
  
## Supported Pixel Formats

| Member Name | Description |
| --- | --- |
| **Format8bppGrayScale** | 8 bits per pixel. Grayscale. 8 bits are used for luminosity level. |
| **Format16bppGrayScale** | 16 bits per pixel. Grayscale. All 16 bits are used for luminosity level (extended pixel format). |
| **Format16bppAGrayScale** | 16 bits per pixel. Grayscale with alpha channel. 8 bits are used for alpha channel and other 8 bits are used for luminosity level. |
| **Format32bppAGrayScale** | 32 bits per pixel. Grayscale with alpha channel. 16 bits are used for alpha channel and other 16 bits are used for luminosity level (extended pixel format). |
| **Format24bppRgb** | 24 bits per pixel. RGB. 8 bits each are used for the red, green, and blue components. |
| **Format32bppRgb** | 32 bits per pixel. RGB. 8 bits each are used for the red, green, and blue components. The rest 8 bits are unused. |
| **Format32bppArgb** | 32 bits per pixel. RGB with alpha channel. 8 bits each are used for the alpha, red, green, and blue components. |
| **Format48bppRgb** | 48 bits per pixel. RGB. 16 bits each are used for the red, green, and blue components (extended pixel format). |
| **Format64bppArgb** | 64 bits per pixel. RGB with alpha channel. 16 bits each are used for the alpha, red, green, and blue components (extended pixel format). |
| **Format32bppCmyk** | 32 bits per pixel. CMYK. 8 bits each are used for the cyan, magenta, yellow, and black components. |
| **Format64bppCmyk** | 64 bits per pixel. CMYK. 16 bits each are used for the cyan, magenta, yellow, and black components (extended pixel format). |
| **Format80bppAcmyk** | 80 bits per pixel. CMYK with alpha channel. 16 bits each are used for the alpha, cyan, magenta, yellow, and black components (extended pixel format). |
 
## See Also

### Reference

- [Wave Members](https://www.graphicsmill.com/docs/gm5/AllMembers_T_Aurigma_GraphicsMill_Transforms_Wave.htm.md)
- [Aurigma.GraphicsMill.Transforms Namespace](https://www.graphicsmill.com/docs/gm5/N_Aurigma_GraphicsMill_Transforms.htm.md)
