# DeviceNColorSpace Class

> Represents a color space with an arbitrary number of color components.

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

```csharp
class DeviceNColorSpace : ColorSpace
```

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

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

## Description

Represents a color space with an arbitrary number of color components.

DeviceN color spaces were designed to represent color spaces containing multiple color components that correspond to the colorants of some target device. They provide greater flexibility than is possible with standard device color spaces such as DeviceCMYK or with individual Separation color spaces. For example, it is possible to create a DeviceN color space consisting of only the cyan, magenta, and yellow color components, with the black component excluded.

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

## Constructors

### DeviceNColorSpace

```csharp
Datalogics.PDFL.DeviceNColorSpace.DeviceNColorSpace(System.Collections.Generic.IList< System.String > names, ColorSpace alternate, Function tintTransform)
```

*constructor*

**Parameters**

- `names` (`System.Collections.Generic.IList< System.String >`): the names of the colorants that the DeviceN space is intended to represent, among which may be All, or None
- `alternate` ([`ColorSpace`](https://docs.datalogics.com/apdfl21/DotNetFramework/APDFL21.0.0PlusP1e/class/ColorSpace.md)): the alternate color space, which can be any device or CIE-based color space but not another special color space (Pattern, Indexed, Separation, or DeviceN).
- `tintTransform` ([`Function`](https://docs.datalogics.com/apdfl21/DotNetFramework/APDFL21.0.0PlusP1e/class/Function.md)): function, called with the tint value and returning the corresponding color component values. That is, the number of components and the interpretation of their values depend on the alternate color space.

Create a DeviceN color space.

## Properties

### Alternate

```csharp
ColorSpace Datalogics.PDFL.DeviceNColorSpace.Alternate { get; }
```

the alternate color space, which can be any device or CIE-based color space but not another special color space (Pattern, Indexed, Separation, or DeviceN).

### Attributes

```csharp
PDFDict Datalogics.PDFL.DeviceNColorSpace.Attributes { get; }
```

The dictionary of extended attributes associated with the color 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.

### Function

```csharp
Function Datalogics.PDFL.DeviceNColorSpace.Function { get; }
```

A function, called with the tint value and returning the corresponding color component values. That is, the number of components and the interpretation of their values depend on the alternate color space.

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

### Names

```csharp
System.Collections.Generic.IList<System.String> Datalogics.PDFL.DeviceNColorSpace.Names { get; }
```

the names of the colorant that the DeviceN space is intended to represent, some of which may be All or None

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