# Clip Class

> A clipping path is used to mark an area within a page to be highlighted or removed.

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

```csharp
class Clip : SystemIDisposable
```

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

**Inherits from:** `SystemIDisposable`

## Description

A clipping path is used to mark an area within a page to be highlighted or removed.

The clipping path clips out part of the design. A clip can also be used with text.

The clipping path defines an area within a page (text or graphic) that will be highlighted or removed. For example, a clipping path could be used to remove the background in a photograph, to highlight a person or object in front, or to super-impose text over an image. Only part of the image appears through a shape created with the clipping path.

The Clip class is made up of a list of path and text elements. Any element can have a clip associated with it, and clip objects can hold arbitrary levels of nested container and group objects.

If a group object is inside a clip object, and the clip object also contains at least one text object and no path objects, the group object has a special meaning. All text objects contained in a group object like this are considered to be part of the same BT/ET block. This means that the union of these text objects makes up a single clipping path. The text objects do not intersect.

**Referenced by:** [`Clip`](https://docs.datalogics.com/apdfl21/DotNetFramework/APDFL21.0.0PlusP1e/class/Clip.md), [`Container`](https://docs.datalogics.com/apdfl21/DotNetFramework/APDFL21.0.0PlusP1e/class/Container.md), [`Element`](https://docs.datalogics.com/apdfl21/DotNetFramework/APDFL21.0.0PlusP1e/class/Element.md), [`Form`](https://docs.datalogics.com/apdfl21/DotNetFramework/APDFL21.0.0PlusP1e/class/Form.md), [`Group`](https://docs.datalogics.com/apdfl21/DotNetFramework/APDFL21.0.0PlusP1e/class/Group.md), [`Image`](https://docs.datalogics.com/apdfl21/DotNetFramework/APDFL21.0.0PlusP1e/class/Image.md), [`Path`](https://docs.datalogics.com/apdfl21/DotNetFramework/APDFL21.0.0PlusP1e/class/Path.md), [`PostScript`](https://docs.datalogics.com/apdfl21/DotNetFramework/APDFL21.0.0PlusP1e/class/PostScript.md), [`Shading`](https://docs.datalogics.com/apdfl21/DotNetFramework/APDFL21.0.0PlusP1e/class/Shading.md), [`Text`](https://docs.datalogics.com/apdfl21/DotNetFramework/APDFL21.0.0PlusP1e/class/Text.md), [`TextRun`](https://docs.datalogics.com/apdfl21/DotNetFramework/APDFL21.0.0PlusP1e/class/TextRun.md)

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

## Constructors

### Clip

```csharp
Datalogics.PDFL.Clip.Clip()
```

*constructor*

Creates an empty Clip object. This represents a clipping object that has no effect on elements that refer to it.

## Methods

### AddElement

```csharp
void Datalogics.PDFL.Clip.AddElement(Element element)
```

**Parameters**

- `element` ([`Element`](https://docs.datalogics.com/apdfl21/DotNetFramework/APDFL21.0.0PlusP1e/class/Element.md)): The Element to add to the Clip.

**Returns:** `void`

Adds an Element to a Clip path as the first indexed Element.

### AddElement

```csharp
void Datalogics.PDFL.Clip.AddElement(Element element, int addAfterIndex)
```

**Parameters**

- `element` ([`Element`](https://docs.datalogics.com/apdfl21/DotNetFramework/APDFL21.0.0PlusP1e/class/Element.md)): The Element to add to the Clip.
- `addAfterIndex` (`int`): The index after which this Element will be added to the Clip's list of Elements. If omitted, it will be added as index 0, i.e., the first Element.

**Returns:** `void`

Adds an Element to a Clip path, after the Element index specified.

### Clone

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

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

A new clip object deep copy

Makes a new deep copy of this Clip object in memory.

### Dispose

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

**Returns:** `void`

### GetElement

```csharp
Element Datalogics.PDFL.Clip.GetElement(int index)
```

**Parameters**

- `index` (`int`): The index of the desired Element.

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

- The Element found at the supplied index in the Clip's Element list.

Gets an Element from a Clip path.

### NumElements

```csharp
int Datalogics.PDFL.Clip.NumElements()
```

**Returns:** `int`

- The number of top-level Elements in the Clip.

Gets the number of top-level Elements in a Clip object.

### RemoveElements

```csharp
void Datalogics.PDFL.Clip.RemoveElements(int index)
```

**Parameters**

- `index` (`int`): The index of the Element to remove.

**Returns:** `void`

Removes an Element from a Clip object.

### RemoveElements

```csharp
void Datalogics.PDFL.Clip.RemoveElements(int index, int count)
```

**Parameters**

- `index` (`int`): The index of the first Element to remove.
- `count` (`int`): The number of Elements to remove, starting with the index Element.

**Returns:** `void`

Removes one or more Elements from a Clip object.

### ToString

```csharp
override string Datalogics.PDFL.Clip.ToString()
```

**Returns:** `override string`
