# IndexedColorSpace Class

> Indexed color spaces are used to reduce the amount of memory used for processing images.

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

```csharp
class IndexedColorSpace : ColorSpace
```

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

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

## Description

Indexed color spaces are used to reduce the amount of memory used for processing images.

Indexed color spaces are used when a limited number of colors are needed.

Commonly, an image with an indexed color space can be one third the size of the same image with a standard color space, because the indexed image uses a smaller palette of colors.

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

## Constructors

### IndexedColorSpace

```csharp
Datalogics.PDFL.IndexedColorSpace.IndexedColorSpace(ColorSpace base_, int hival, System.Collections.Generic.IList< System.Int32 > lookup)
```

*constructor*

**Parameters**

- `base_` ([`ColorSpace`](https://docs.datalogics.com/apdfl21/DotNetFramework/APDFL21.0.0PlusP1e/class/ColorSpace.md))
- `hival` (`int`): an integer that specifies the maximum valid index value. In other words, the color table is to be indexed by integers in the range 0 to hival. hival can be no greater than 255.
- `lookup` (`System.Collections.Generic.IList< System.Int32 >`): a list of integers in the range 0..255. There must be m * (hival + 1) values, where m is the number of components of the base color space.

Create a Indexed color space.

## Properties

### Base

```csharp
ColorSpace Datalogics.PDFL.IndexedColorSpace.Base { get; }
```

The base color space in which the values in the color table are to be interpreted. It can be any device or CIE-based color space or (in PDF 1.3) a Separation or DeviceN space, but not a Pattern space or another Indexed space.

### DeviceCMYK

```csharp
static ColorSpace Datalogics.PDFL.ColorSpace.DeviceCMYK { get; }
```

*static*

The DeviceCMYK color space, representing cyan, magenta, yellow, and black components.

### DeviceGray

```csharp
static ColorSpace Datalogics.PDFL.ColorSpace.DeviceGray { get; }
```

*static*

The DeviceGray color space, representing a single grayscale component.

### DeviceRGB

```csharp
static ColorSpace Datalogics.PDFL.ColorSpace.DeviceRGB { get; }
```

*static*

The DeviceRGB color space, representing red, green, and blue components.

### DeviceRGBA

```csharp
static ColorSpace Datalogics.PDFL.ColorSpace.DeviceRGBA { get; }
```

*static*

The DeviceRGBA color space, representing red, green, blue, and alpha components.

### HiVal

```csharp
int Datalogics.PDFL.IndexedColorSpace.HiVal { get; }
```

an integer that specifies the maximum valid index value. In other words, the color table is to be indexed by integers in the range 0 to hival. hival can be no greater than 255.

### Lab

```csharp
static ColorSpace Datalogics.PDFL.ColorSpace.Lab { get; }
```

*static*

The CIE-based L*a*b* color space.

### LabA

```csharp
static ColorSpace Datalogics.PDFL.ColorSpace.LabA { get; }
```

*static*

The CIE-based L*a*b* color space with an alpha component.

### Lookup

```csharp
System.Collections.Generic.IList<System.Int32> Datalogics.PDFL.IndexedColorSpace.Lookup { get; }
```

A list of integers in the range 0..255. There must be m * (hival + 1) values, where m is the number of components of the base color space.

### Name

```csharp
string Datalogics.PDFL.ColorSpace.Name { get; }
```

The name of the color space. A named color space may be named something like DeviceRGB. More complicated color spaces may have a name like Indexed or ICCBased.

### NumComponents

```csharp
int Datalogics.PDFL.ColorSpace.NumComponents { get; }
```

The number of components in the color space.

For example, DeviceGray has 1 component, DeviceRGB has 3, and DeviceCMYK has 4.

### PDFObject

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

Get the PDFObject associated with the color space. This may be a PDFName, PDFDict, PDFStream, or PDFArray.

## Methods

### Dispose

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

**Returns:** `void`

### Equals

```csharp
override bool Datalogics.PDFL.ColorSpace.Equals(object obj)
```

**Parameters**

- `obj` (`object`)

**Returns:** `override bool`

### ToString

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

**Returns:** `override string`

A string describing this ColorSpace.

Convert a ColorSpace to a string representation.

### operator!=

```csharp
static bool Datalogics.PDFL.ColorSpace.operator!=(ColorSpace a, ColorSpace b)
```

*static*

**Parameters**

- `a` ([`ColorSpace`](https://docs.datalogics.com/apdfl21/DotNetFramework/APDFL21.0.0PlusP1e/class/ColorSpace.md)): The first ColorSpace to compare.
- `b` ([`ColorSpace`](https://docs.datalogics.com/apdfl21/DotNetFramework/APDFL21.0.0PlusP1e/class/ColorSpace.md)): The second ColorSpace to compare.

**Returns:** `bool`

true if the two ColorSpace objects are not equal; false otherwise.

Test two ColorSpace objects for inequality.

### operator==

```csharp
static bool Datalogics.PDFL.ColorSpace.operator==(ColorSpace a, ColorSpace b)
```

*static*

**Parameters**

- `a` ([`ColorSpace`](https://docs.datalogics.com/apdfl21/DotNetFramework/APDFL21.0.0PlusP1e/class/ColorSpace.md)): The first ColorSpace to compare.
- `b` ([`ColorSpace`](https://docs.datalogics.com/apdfl21/DotNetFramework/APDFL21.0.0PlusP1e/class/ColorSpace.md)): The second ColorSpace to compare.

**Returns:** `bool`

true if the two ColorSpace objects are equal; false otherwise.

Test two ColorSpace objects for equality.
