168 пространств

Цветовые пространства

От до , от до , –.
Поддержка CSS, шейдеров, WASM и таблиц преобразования цветов (LUT).

Дисплеи и веб19

RGB-пространства для обработки и вывода изображений: от sRGB для веба до экранов с широким цветовым охватом.

HP & Microsoft, 1996
Apple, 2015
ITU-R, 2012
HP & Microsoft, 1996
ITU-R, 1990
Kodak, 1999
Adobe Systems, 1998
DCI, 2005
Apple, 2015
ITU-R, 2012
Adobe Systems, 1998
Kodak, 1999
IEC, 2003
Kodak, 2000
CIE, 1931
FCC, 1953–87
Walter Bruch / Telefunken, 1967
Apple Computer, 1987–96
SMPTE, 1988–90

Производные RGB9

Цветовой тон, насыщенность и яркость, рассчитанные из RGB. Одинаковые изменения чисел не всегда дают одинаковые изменения цвета.

Joblove & Greenberg, 1978
Alvy Ray Smith, 1978
Alvy Ray Smith, 1996
John R. Kender, 1976
community convention, 2011
Ian Taylor, 2012
Darel Rex Finley, 2006
Kuzma Shapran, 2012
Bianconi et al., 2009

Перцептивные48

Координаты для сравнения цветов, построения палитр и предсказания восприятия.

Björn Ottosson, 2020
CIE, 1976
Li et al., 2017
Björn Ottosson, 2020
Google, 2021
Björn Ottosson, 2021
Björn Ottosson, 2021
Björn Ottosson, 2021
Björn Ottosson, 2021
Björn Ottosson, 2021
Jan Behrens, 2009
Konovalenko et al., 2021
Li & Luo, 2024
Hensley & Fairchild, 2020
Safdar et al., 2017
Safdar et al., 2017
Fritz Ebner & Mark Fairchild, 1998
Safdar et al., 2017
Mark Fairchild & Garrett Wyble, 2010
CIE, 1976
CIE, 1976
Alexei Boronine, 2012
CIE, 1976
CIE, 1976
CIE, 1976
Alexei Boronine, 2012
DIN, 2018
DIN, 2018
Cui et al., 2002
Richard S. Hunter, 1948
David MacAdam / CIE, 1960–76
Günther Wyszecki / CIE, 1964–76
Elliot Q. Adams, 1942–76
Mark Fairchild & Garrett Wyble, 2010–16
CIE, 2002–17
Li et al., 2017
Safdar et al., 2021
Luo et al., 2006–17
Li et al., 2017
Li et al., 2017
Luo et al., 2006–17
Luo et al., 2006–17
Luke Hellwig & Mark Fairchild, 2022
Mark Fairchild, 1996
Luo et al., 1996
Yoshinobu Nayatani, 1995
Robert W. G. Hunt, 1994
Sherman Lee Guth, 1995

Колориметрия и исследования22

Основы измерения цвета, работа зрения и специальные координаты для исследований.

CIE, 1931
CIE, 1931
Estévez et al., 1979
ICC, 1994
CIE, 1976
Yoshi Ohno / ANSI, 2014
Raymond Davis; CIE, 1931
James Clerk Maxwell, 1860
CIE, 1931
ITU-R, 2016
Donald MacLeod & Robert Boynton, 1979
Derrington et al., 1984
CIE, 1931
Hermann von Helmholtz, 1860
James Clerk Maxwell, 1860
Richard Kirk, 2019
Jyrki Alakuijala et al., 2019
OSA committee, 1974
Terrillon & Akamatsu, 2000
Xerox, 1989
Ohta et al., 1980
Ruderman et al., 1998

Видео и телевещание20

Яркостный и цветоразностные сигналы для телевещания, сжатия видео и передачи HDR.

ITU-R, 1990
Dolby, 2016
ITU-R, 2012
ITU-R, 1982
ITU-R, 1982
ITU-R, 1982
Walter Bruch / Telefunken, 1967
NTSC, 1953–82
ITU-R, 1982
Malvar & Sullivan, 2003
Eric Hamilton / C-Cube Microsystems, 1992
Henri de France, 1967
ITU-R, 2012
Sony / IEC, 2006
SMPTE, 1987
Kodak, 1992
Dolby / ITU-R, 2016
BBC & NHK / ITU-R, 2016
ITU-R, 2016
Julian Fröhlich, 2017

Кино и камеры43

Лог-кодировки камер и рабочие пространства для съёмки и цветокоррекции.

Academy, 2014
ARRI, 2010–22
Academy, 2014
Sony, 2014
Sony, 2014
Academy, 2012
Academy, 2016
ARRI, 2022
Kodak, 1992
Blackmagic Design, 2020
Sony, 2012–14
Panasonic, 2014
RED Digital Cinema, 2017
Canon, 2011–15
Canon, 2015
Canon, 2016
Fujifilm, 2016
Fujifilm, 2022
Fujifilm, 2024
Nikon, 2018
Apple, 2023
Apple, 2025
Blackmagic Design, 2020
DJI, 2017
FilmLight, 2013
Kinefinity, 2025
SMPTE/DCI, 2006
Sony, 2008–12
Academy, 2013
Kodak, 2000
Leica, 2020
GoPro, 2012
GoPro, 2026
Insta360, 2026
Xiaomi, 2024
OPPO, 2025
Samsung, 2025
RED Digital Cinema, 2007–08
RED Digital Cinema, 2008–17
RED Digital Cinema, 2016–17
Panavision / Sony, 2005
Thomson Grass Valley, 2002
FiLMiC Inc., 2017

Печать и краски7

Печатные краски, пигменты и системы измерения цвета поверхностей.

Eagle Printing Ink Co., 1906
Albert H. Munsell, 1905
Johannes Itten, 1961
Louis Ducos du Hauron, 1868–1906
RAL gGmbH, 1993
Antal Nemcsics, 1980
Wilhelm Ostwald, 1917

Как использовать

Пакет для преобразования цветов в JavaScript. Одно пространство занимает менее 1,5 КБ; импорт всех пространств позволяет преобразовывать цвета между любыми из них. Те же преобразования обрабатывают целые изображения в WASM и выполняются в шейдерах GLSL или WGSL. Их можно экспортировать как таблицы LUT и ICC-профили. Агенты могут вызывать преобразования через MCP-сервер.

  • Проверено по эталонампроверено каждое пространство
  • В обе стороныиз любого пространства в любое
  • Малый размер0,4–1,5 КБ на пространство
  • Общественное достояниеCC0
import space from 'color-space'

space.rgb.oklch(255, 128, 0)      // → [0.732, 0.186, 53]
space.oklch.rgb(0.65, 0.25, 180)  // any of 168 × 167 pairs

space.oklch.name    // 'oklch'
space.oklch.range   // [[0,1], [0,0.4], [0,360]]

// one space only – tree-shaken, 0.4-1.5 kB
import oklch from 'color-space/oklch.js'
oklch.rgb(0.65, 0.25, 180)
Что такое цветовое пространство?

Система координат для цвета: оси, диапазоны и правило, связывающее числа с измеримым светом. Один и тот же оранжевый – это rgb(255 128 0), oklch(0.732 0.186 53) и XYZ [49, 36.7, 4.5] – один цвет, записанный тремя способами. Палитра – это набор выбранных цветов; пространство – способ записать вообще любой цвет.

Цветовая модель или цветовое пространство – в чём разница?

Цветовая модель определяет, какими компонентами описывается цвет: тремя основными цветами в RGB, цветовым тоном, насыщенностью и светлотой в HSL, четырьмя красками в CMYK. Цветовое пространство уточняет основные цвета, точку белого и передаточную кривую, чтобы каждому набору значений соответствовал измеримый цвет. Поэтому rgb(255 0 0) обозначает разный красный в sRGB, Display P3 и Adobe RGB: одна модель, три пространства.

В обиходе оба понятия называют пространствами, в том числе в CSS с color-mix(in hsl, …) и в этом каталоге. Модель можно связать с уже определённым цветовым пространством: здесь HSL и HSV основаны на sRGB, как в CSS.

Какое пространство выбрать?

Зависит от задачи:

  • хранение изображений и обмен ими – sRGB, стандарт веба по умолчанию;
  • проектирование палитр и градиентов – OKLCH, где равные шаги выглядят равными;
  • вычисления со светом (смешивание, размытие, 3D) – RGB в линейном свете;
  • съёмка и цветокоррекция видео: логарифмическое пространство камеры с выводом в Rec. 709 или Rec. 2100;
  • оценка того, насколько различными выглядят два цвета, – CIELAB или DIN99o.

Группировка каталога по задаче помогает выбрать пространство по назначению.

Что использовать вместо HSL?

OKLCH. Те же три регулятора – цветовой тон, хрома, светлота, – но светлоте можно доверять: в модели HSL жёлтый при L=50 излучает примерно в 13 раз больше света, чем синий при L=50, так что равные L не означают одинаковой яркости на глаз. В OKLCH – означают. CSS поддерживает oklch() без дополнительных преобразований.

Почему цвета в середине градиента тускнеют?

При усреднении значений в sRGB с гамма-кодированием получается более тёмный и тусклый цвет, чем при смешении соответствующих световых потоков. Интерполяция в OKLab позволяет избежать этого потемнения. Строка интерполяция в каждой карточке показывает один переход в двух пространствах рядом: можно сравнить результат и выбрать подходящее пространство.

Что значит «вне охвата»?

Это цвет, который одно пространство может описать, а другое – или ваш экран – не может показать. Яркого зелёного цвета Display P3 в sRGB просто нет: преобразуйте его – и числа выйдут за допустимый диапазон. Атлас этого не скрывает: плашка рядом с текущим цветом называет самый узкий стандартный охват, который его вмещает, а участки вне диапазона проступают полупрозрачно поверх шахматного фона.

Почему печать выглядит тусклее экрана?

Экран излучает свет; бумага отражает то, что не поглотили её краски. Краске на бумаге доступно меньше ярких цветов – насыщенные синие, зелёные и красные RGB лежат вне её охвата, – поэтому они печатаются тусклее. Допечатная подготовка переводит цвета через ICC-профиль, сделанный для машины и бумаги, например FOGRA39 для европейской мелованной бумаги или GRACoL в США. CMYK этого каталога – простая формула, которой CSS пользуется для device-cmyk() без профиля: верная для чисел, но не цветопроба печати.

Насколько точны преобразования? Теряются ли данные при обратном пересчёте?

Преобразования вычисляются по аналитическим формулам, а не по приближённым таблицам. При прямом и обратном пересчёте погрешность обычно ограничивается точностью вычислений с плавающей запятой. Исключения указаны в описаниях: у OSA-UCS нет аналитической формулы обратного преобразования, системы вроде Munsell используют интерполяцию между опубликованными образцами. Значения rgb ограничиваются охватом sRGB; для цветов за его пределами используйте XYZ или линейный RGB.

Для каждого пространства указана статья или спецификация, по которой реализовано преобразование. Результаты сверяются с colorjs.io для пространств, поддерживаемых обеими библиотеками, а логарифмические кривые камер – с официальными преобразованиями ACES от Киноакадемии. В formula-verification.md перечислены проверки и их источники, в том числе обнаруженные ошибки в опубликованных статьях.

Если числа расходятся с другой библиотекой, сравните диапазоны: эта сохраняет привычные диапазоны каждого пространства – RGB 0–255, светлота Lab 0–100, цветовой тон 0–360, – тогда как многие сводят всё к 0–1. Каждая карточка показывает свои диапазоны; в коде это space.oklch.range.

Какие пространства поддерживает CSS?

CSS поддерживает rgb(), hsl(), hwb(), lab(), lch(), oklab(), oklch(), а также color() для Display P3, Adobe RGB, ProPhoto, линейного sRGB и XYZ (D65 и D50). В CSS rec2020 использует степенную функцию с гаммой 2.4, а не кривую BT.2020 пространства Rec. 2020 из этого каталога. Поэтому одинаковые числа обозначают разные цвета. На вкладке css каждой карточки можно скопировать запись текущего цвета. Преобразования для пространств, которых нет в CSS, можно экспортировать как ICC-профили или таблицы LUT.

Где Pantone, NCS, RAL?

Это лицензируемые продукты: их цвета задаются данными, которые продают владельцы, а не опубликованными формулами, – так что открытой математики для реализации нет, а распространять их таблицы было бы незаконно. В каталог входят сходные системы с опубликованными математическими определениями: Munsell (его ренотация 1943 года – общедоступный документ) и RAL Design (задан непосредственно в CIELAB). Простое правило: если математику когда-либо публиковали, ей место в коллекции.

Скопировано