# LabColorSpace Class

> A Lab color space is a CIE-based ABC color space with two transformation stages.

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

```csharp
class LabColorSpace : ColorSpace
```

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

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

## Description

A Lab color space is a CIE-based ABC color space with two transformation stages.

In this type of space, A, B, and C represent the L*, a*, and b* components of a CIE 1976 L*a*b* space. The range of the first (L*) component is always 0 to 100; the ranges of the second and third (a* and b*) components are defined by the Range.

**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

### LabColorSpace

```csharp
Datalogics.PDFL.LabColorSpace.LabColorSpace(System.Collections.Generic.IList< System.Double > whitePoint)
```

*constructor*

**Parameters**

- `whitePoint` (`System.Collections.Generic.IList< System.Double >`): An array of three numbers specifying the tristimulus value, in the CIE 1931 XYZ space, of the diffuse white point. The numbers X and Z must be positive, and Y must be equal to 1.0.

Create a Lab color space.

The blackPoint defaults to [0.0, 0.0, 0.0].

The range defaults to [-100 100 -100 100]

### LabColorSpace

```csharp
Datalogics.PDFL.LabColorSpace.LabColorSpace(System.Collections.Generic.IList< System.Double > whitePoint, System.Collections.Generic.IList< System.Double > blackPoint, System.Collections.Generic.IList< System.Double > range)
```

*constructor*

**Parameters**

- `whitePoint` (`System.Collections.Generic.IList< System.Double >`): An array of three numbers specifying the tristimulus value, in the CIE 1931 XYZ space, of the diffuse white point. The numbers X and Z must be positive, and Y must be equal to 1.0.
- `blackPoint` (`System.Collections.Generic.IList< System.Double >`): An array of three numbers specifying the tristimulus value, in the CIE 1931 XYZ space, of the diffuse black point. All three of these numbers must be non-negative.
- `range` (`System.Collections.Generic.IList< System.Double >`): An array of four numbers [ amin amax bmin bmax ] specifying the range of valid values for the a* and b* (B and C) components of the color space.

Create a Lab color space.

## Properties

### BlackPoint

```csharp
System.Collections.Generic.IList<System.Double> Datalogics.PDFL.LabColorSpace.BlackPoint { get; }
```

The black point tristimulus value for this Lab color space.

An array of three numbers specifying the tristimulus value, in the CIE 1931 XYZ space, of the diffuse black point. All three of these numbers must be non-negative. If no black point was specified during construction, the default value [0.0, 0.0, 0.0] is returned.

### 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.

### 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.

### 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.

### Range

```csharp
System.Collections.Generic.IList<System.Double> Datalogics.PDFL.LabColorSpace.Range { get; }
```

The range of valid values for the a* and b* components.

An array of four numbers [ amin amax bmin bmax ] specifying the range of valid values for the a* and b* (B and C) components of the color space. If no range was specified during construction, the default value [-100, 100, -100, 100] is returned.

### WhitePoint

```csharp
System.Collections.Generic.IList<System.Double> Datalogics.PDFL.LabColorSpace.WhitePoint { get; }
```

The white point tristimulus value for this Lab color space.

An array of three numbers specifying the tristimulus value, in the CIE 1931 XYZ space, of the diffuse white point. The numbers X and Z must be positive, and Y must be equal to 1.0.

## 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.
