# Shading Class

> Represents a region shaded with color, as defined by a shading dictionary.

- Product: Adobe PDF Library 21
- Language: .NET Framework
- Version: APDFL21.0.0PlusP1e
- HTML page: https://docs.datalogics.com/apdfl21/DotNetFramework/APDFL21.0.0PlusP1e/class/Shading
- Version index: https://docs.datalogics.com/apdfl21/DotNetFramework/APDFL21.0.0PlusP1e/llms.txt

```csharp
class Shading : Element
```

**Namespace:** `Datalogics::PDFL`

**Inherits from:** [`Element`](https://docs.datalogics.com/apdfl21/DotNetFramework/APDFL21.0.0PlusP1e/class/Element.md)

## Description

Represents a region shaded with color, as defined by a shading dictionary.

A shading pattern defines a gradient fill in a graphic that produces a smooth transition between colors across the area covered by the graphic area. The "sh" paint operator is invoked for the shading object. This does not correspond to a shading dictionary within a PDF pattern. Refer to the Pattern object for shading dictionaries used in PDF patterns.

A shading pattern defines a gradient fill in a graphic that produces a smooth transition between colors across the area covered by the graphic area. The "sh" paint operator is invoked for the shading object. This does not correspond to a shading dictionary within a PDF pattern. Refer to the Pattern object for shading dictionaries used in PDF patterns.

**Uses types:** [`Clip`](https://docs.datalogics.com/apdfl21/DotNetFramework/APDFL21.0.0PlusP1e/class/Clip.md), [`ColorSpace`](https://docs.datalogics.com/apdfl21/DotNetFramework/APDFL21.0.0PlusP1e/class/ColorSpace.md), [`Element`](https://docs.datalogics.com/apdfl21/DotNetFramework/APDFL21.0.0PlusP1e/class/Element.md), [`ElementCloneFlags`](https://docs.datalogics.com/apdfl21/DotNetFramework/APDFL21.0.0PlusP1e/enum/ElementCloneFlags.md), [`GraphicState`](https://docs.datalogics.com/apdfl21/DotNetFramework/APDFL21.0.0PlusP1e/class/GraphicState.md), [`Matrix`](https://docs.datalogics.com/apdfl21/DotNetFramework/APDFL21.0.0PlusP1e/class/Matrix.md), [`Rect`](https://docs.datalogics.com/apdfl21/DotNetFramework/APDFL21.0.0PlusP1e/class/Rect.md)

## Properties

### BoundingBox

```csharp
Rect Datalogics.PDFL.Element.BoundingBox { get; }
```

The bounding box for this element.

The bounding box is a rectangle that is guaranteed to encompass the element, but it is not guaranteed to be the smallest box that could contain the element. For example, if the element is a Path that contains an arc, the bounding box encompasses the bezier control points, and not just the curve itself.

### Clip

```csharp
Clip Datalogics.PDFL.Element.Clip { get; set; }
```

Gets the current Clip for an Element.

### ColorSpace

```csharp
ColorSpace Datalogics.PDFL.Shading.ColorSpace { get; }
```

Get the ColorSpace of the current Shading object.

### GraphicState

```csharp
GraphicState Datalogics.PDFL.Shading.GraphicState { get; }
```

Get the graphic state of the current Shading object.

May return null if this element does not have a GraphicState.

### Matrix

```csharp
Matrix Datalogics.PDFL.Element.Matrix { get; set; }
```

The transformation matrix for the element.

## Methods

### Clone

```csharp
Element Datalogics.PDFL.Element.Clone()
```

**Returns:** [`Element`](https://docs.datalogics.com/apdfl21/DotNetFramework/APDFL21.0.0PlusP1e/class/Element.md)

The copied element.

Makes a copy of the element.

Make a copy of an element to obtain a new element that has a distinct set of attributes.

Note: TextRun objects may not be cloned.

### Clone

```csharp
Element Datalogics.PDFL.Element.Clone(ElementCloneFlags cloneFlags)
```

**Parameters**

- `cloneFlags` ([`ElementCloneFlags`](https://docs.datalogics.com/apdfl21/DotNetFramework/APDFL21.0.0PlusP1e/enum/ElementCloneFlags.md)): Flags that modify the cloning operation.

**Returns:** [`Element`](https://docs.datalogics.com/apdfl21/DotNetFramework/APDFL21.0.0PlusP1e/class/Element.md)

The copied element.

Makes a copy of the element.

Make a copy of an element to obtain a new element that has a distinct set of attributes.

Note: TextRun objects may not be cloned.

### Dispose

```csharp
void Datalogics.PDFL.Element.Dispose()
```

**Returns:** `void`

### Rotate

```csharp
void Datalogics.PDFL.Element.Rotate(double theta)
```

**Parameters**

- `theta` (`double`): The rotation angle in degrees.

**Returns:** `void`

Rotate an element by theta degrees counterclockwise using the matrix [ cos T sin T -sin T cos T 0 0 ].

### Scale

```csharp
void Datalogics.PDFL.Element.Scale(double sx, double sy)
```

**Parameters**

- `sx` (`double`): The horizontal scale factor.
- `sy` (`double`): The vertical scale factor.

**Returns:** `void`

Scale an element by (sx,sy) units using the matrix [ sx 0 0 sy 0 0 ].

### Translate

```csharp
void Datalogics.PDFL.Element.Translate(double tx, double ty)
```

**Parameters**

- `tx` (`double`): The horizontal translation distance in user space units.
- `ty` (`double`): The vertical translation distance in user space units.

**Returns:** `void`

Translate an element by (tx,ty) units using the matrix [ 1 0 0 1 tx ty ].
