Цветовое пространство Оклаб
Статус | Проект рекомендации |
---|---|
Впервые опубликовано | 23 декабря 2020 г. [ 1 ] |
Последняя версия | 13 февраля 2024 г. [ 2 ] |
Предварительная версия | 29 февраля 2024 г. [ 3 ] |
Организация | W3C |
комитет | Рабочая группа CSS |
Ряд | CSS-цвет |
Предшественник | Цветовое пространство CIELAB |
Домен | Цветовая модель |
Лицензия | Общественное достояние |
Веб-сайт | www.w3.org |
— Цветовое пространство Oklab это единое цветовое пространство для независимого от устройства цвета, предназначенное для улучшения единообразия восприятия , оттенка и яркости прогнозирования , смешивания цветов , [ а ] и удобство использования , обеспечивая при этом числовую стабильность и простоту реализации . [ 1 ] Представленный Бьёрном Оттоссоном в декабре 2020 года, Oklab и его цилиндрический аналог Oklch были включены в черновики CSS Color Level 4 и Level 5 для аппаратно-независимых веб-цветов с декабря 2021 года. [ 2 ] [ 3 ] Они поддерживаются последними версиями основных веб-браузеров. [ 6 ] и позволяют указывать с широкой гаммой цвета P3 . [ 7 ]
Модель Oklab оснащена улучшенными данными о цвете: данные CAM16 для яркости и цветности и данные IPT для оттенка. Новая настройка решает такие проблемы, как неожиданные изменения оттенка и яркости синих цветов, присутствующих в цветовом пространстве CIELAB , упрощая создание цветовых схем и более плавные цветовые градиенты . [ 1 ] [ 7 ] [ 4 ]
Координаты
[ редактировать ]Oklab использует ту же пространственную структуру, что и CIELAB, представляя цвет с помощью трех компонентов:
- L означает перцептивную яркость в диапазоне от 0 (чистый черный) до 1 (эталонный белый, если ахроматический), часто обозначается в процентах.
- a и b для каналов противника четырех уникальных оттенков , без ограничений, но на практике в диапазоне от -0,5 до +0,5.
- a от зеленого (отрицательного) до красного (положительного)
- b от синего (отрицательного) до желтого (положительного)
Как и CIELCh , Oklch представляет цвета, используя:
- L для восприятия легкости
- C для цветности, представляющей хроматическую интенсивность, со значениями от 0 (ахроматический) без верхнего предела, но на практике не превышающим +0,5.
- h для угла оттенка в цветовом круге , обычно обозначается в десятичных градусах
Ахроматические цвета
[ редактировать ]Нейтральные серые цвета , чистый черный и эталонный белый являются ахроматическими, то есть , , , и h не определен . Присвоение какого-либо реального значения их компоненту оттенка не влияет на преобразования между цветовыми пространствами. [ 2 ]
В то время как чистый черный является сингулярностью координат в пространствах Оклаба и Оклха, дисплеи с расширенным динамическим диапазоном могут отображать множество хроматических цветов ( ) в (светлость эталонного белого цвета) благодаря расширенной гамме .
Цветовые различия
[ редактировать ]Перцептивная цветовая разница в Oklab рассчитывается как евклидово расстояние между координатами ( L , a , b ) . [ 8 ] [ 2 ]
Преобразования между цветовыми пространствами
[ редактировать ]Преобразование в Окльч и обратно
[ редактировать ]Как и в случае CIELCh, декартовы координаты a и b преобразуются в полярные координаты C и h следующим образом:
А полярные координаты преобразуются в декартовы координаты следующим образом:
Преобразование из CIE XYZ
[ редактировать ]Переход из CIE XYZ со стандартным источником света D65 включает в себя: [ 1 ]
- Преобразование в цветовое пространство LMS с помощью линейной карты :
- Применение кубического корня нелинейности :
- Преобразование в Оклаб с помощью другой линейной карты:
Данный:
Преобразование из sRGB
[ редактировать ]Для преобразования из sRGB необходимо сначала преобразовать из sRGB в CIE XYZ со стандартным источником света D65. Поскольку последним шагом этого преобразования является линейная карта из линейного RGB в CIE XYZ, эталонная реализация напрямую использует умноженную матрицу, представляющую композицию двух линейных карт: [ 1 ]
Преобразование в CIE XYZ и sRGB
[ редактировать ]Преобразование в CIE XYZ и sRGB просто включает применение соответствующих обратных функций в обратном порядке: [ 1 ]
Примечания
[ редактировать ]- ^ Однако он не подходит для смешивания или обработки изображений , для которых с гамма-расширением . линейное цветовое пространство RGB более подходит [ 4 ] [ 5 ]
Ссылки
[ редактировать ]- ^ Jump up to: а б с д и ж Оттоссон, Бьёрн (23 декабря 2020 г.). «Перцептивное цветовое пространство для обработки изображений» . Страницы GitHub . Проверено 24 июля 2024 г.
- ^ Jump up to: а б с д Модуль цвета CSS, уровень 4 (проект рекомендации кандидата). W3C . Проверено 24 июля 2024 г.
- ^ Jump up to: а б Модуль цвета CSS, уровень 5 (рабочий проект). W3C . Проверено 25 июля 2024 г.
- ^ Jump up to: а б Левиен, Раф (18 января 2021 г.). «Интерактивный обзор Оклаба» . Страницы GitHub . Проверено 24 июля 2024 г.
- ^ Новак, Джон (21 сентября 2016 г.). «Что каждый программист должен знать о гамме» . Проверено 26 июля 2024 г.
- ^ «Цветовая модель Оклаб» . Могу ли я использовать . Проверено 24 июля 2024 г.
- ^ Jump up to: а б Ситник, Андрей; Тернер, Трэвис (25 января 2023 г.). «ОКЛЧ в CSS: почему мы перешли от RGB и HSL» . Злые марсиане . Проверено 24 июля 2024 г.
- ^ Лилли, Крис (июль 2021 г.). «Лучше, чем Lab? Сокращение гаммы CIE Lab и OKLab» . W3C . Проверено 24 июля 2024 г.