# `PdfElixide.Color`
[🔗](https://github.com/r8/pdf_elixide/blob/v0.16.0/lib/pdf_elixide/color.ex#L1)

The color values returned by extraction, one struct per colorspace.

  * `PdfElixide.Color.RGB` — three channels (DeviceRGB).
  * `PdfElixide.Color.CMYK` — four channels (DeviceCMYK).
  * `PdfElixide.Color.Gray` — one channel (DeviceGray).
  * `PdfElixide.Color.Unknown` — components whose colorspace we can't identify.

Every channel is in the `0.0..1.0` range.

## Which shapes appear where

Text and vector graphics — `PdfElixide.Document.Char`,
`PdfElixide.Document.Span`, `PdfElixide.Document.Path` — are always
`PdfElixide.Color.RGB`, never the other structs. Extraction resolves every
colorspace (CMYK, Lab, Separation, ICCBased) to DeviceRGB, so the original
colorspace is no longer available in those results.

`PdfElixide.Document.Annotation` is the exception: its `:color` and
`:interior_color` carry the raw `/C` and `/IC` component arrays, so any of the
four structs can appear there.

# `t`

```elixir
@type t() ::
  PdfElixide.Color.RGB.t()
  | PdfElixide.Color.CMYK.t()
  | PdfElixide.Color.Gray.t()
  | PdfElixide.Color.Unknown.t()
```

Any extracted color.

See the module documentation for which of these can appear on which field.

---

*Consult [api-reference.md](api-reference.md) for complete listing*
