# IndexedColorSpace Class

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

- Product: Adobe PDF Library 18
- Language: Java
- Version: APDFL18.0.5PlusP2e
- HTML page: https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/IndexedColorSpace
- Version index: https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/llms.txt

```java
class IndexedColorSpace : ColorSpace
```

**Namespace:** `com::datalogics::PDFL`

**Inherits from:** [`ColorSpace`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/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/apdfl18/Java/APDFL18.0.5PlusP2e/class/ColorSpace.md), [`PDFObject`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFObject.md)

## Constructors

### IndexedColorSpace

```java
com.datalogics.PDFL.IndexedColorSpace.IndexedColorSpace(ColorSpace base, int hival, java.util.List< Integer > lookup)
```

*constructor*

**Parameters**

- `base` ([`ColorSpace`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/ColorSpace.md)): 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.
- `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` (`java.util.List< Integer >`): 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.

## Fields

### DEVICE_CMYK

```java
static final ColorSpace com.datalogics.PDFL.ColorSpace.DEVICE_CMYK
```

*static*

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

### DEVICE_GRAY

```java
static final ColorSpace com.datalogics.PDFL.ColorSpace.DEVICE_GRAY
```

*static*

The DeviceGray color space, representing a single grayscale component.

### DEVICE_RGB

```java
static final ColorSpace com.datalogics.PDFL.ColorSpace.DEVICE_RGB
```

*static*

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

### DEVICE_RGBA

```java
static final ColorSpace com.datalogics.PDFL.ColorSpace.DEVICE_RGBA
```

*static*

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

### LAB

```java
static final ColorSpace com.datalogics.PDFL.ColorSpace.LAB
```

*static*

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

### LAB_A

```java
static final ColorSpace com.datalogics.PDFL.ColorSpace.LAB_A
```

*static*

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

## Methods

### delete

```java
synchronized void com.datalogics.PDFL.IndexedColorSpace.delete(Boolean disposing)
```

*protected*

**Parameters**

- `disposing` (`Boolean`)

**Returns:** `synchronized void`

### delete

```java
synchronized void com.datalogics.PDFL.IndexedColorSpace.delete()
```

**Returns:** `synchronized void`

### equals

```java
boolean com.datalogics.PDFL.ColorSpace.equals(Object rhs)
```

**Parameters**

- `rhs` (`Object`)

**Returns:** `boolean`

### finalize

```java
void com.datalogics.PDFL.IndexedColorSpace.finalize()
```

*protected*

**Returns:** `void`

### getBase

```java
ColorSpace com.datalogics.PDFL.IndexedColorSpace.getBase()
```

**Returns:** [`ColorSpace`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/ColorSpace.md)

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.

### getHiVal

```java
int com.datalogics.PDFL.IndexedColorSpace.getHiVal()
```

**Returns:** `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.

### getLookup

```java
java.util.List< Integer > com.datalogics.PDFL.IndexedColorSpace.getLookup()
```

**Returns:** `java.util.List< Integer >`

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.

### getName

```java
String com.datalogics.PDFL.ColorSpace.getName()
```

**Returns:** `String`

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.

### getNumComponents

```java
int com.datalogics.PDFL.ColorSpace.getNumComponents()
```

**Returns:** `int`

The number of color components.

The number of components in the color space. For example, DeviceGray has 1 component, DeviceRGB has 3, and DeviceCMYK has 4.

### getPDFObject

```java
PDFObject com.datalogics.PDFL.ColorSpace.getPDFObject()
```

**Returns:** [`PDFObject`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFObject.md)

The PDFObject associated with the color space.

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

### toString

```java
String com.datalogics.PDFL.ColorSpace.toString()
```

**Returns:** `String`

A string describing this ColorSpace.

Convert a ColorSpace to a string representation.
