
Dynamic Color — это определяющий аспект нового языка дизайна Google Material You. Он будет широко применяться на Android, и Google также открывает исходный код библиотеки Material Color Utilities, лежащей в основе динамической тематизации на основе обоев для других платформ.
В пояснительной статье о «Науке о цвете и дизайне» Джеймс О’Лири из Google объясняет, как компания создала «перцепционно точную» цветовую систему для замены существующего подхода HSL (оттенок, насыщенность, светлота), который был «создан для быстрого вычисления цветов на компьютерах 1970-х годов».
Google предложила HCT (оттенок, цветность, тон), чтобы обеспечить масштабируемую систему дизайна, которая дополнительно персонализируется за счет возможности использовать цвет обоев пользователя для остальной части пользовательского интерфейса. Эта новая цветовая система упрощает работу с цветом и повышает доступность.
Впервые дизайнеры получили цветовую систему, которая по-настоящему отражает то, что видят пользователи, учитывая ряд переменных для обеспечения адекватной цветовой контрастности, стандартов доступности и постоянной яркости/насыщенности по всем оттенкам.
Сегодняшний пост в блоге подробно описывает, что происходит каждый раз, когда вы выбираете новые обои на Android 12:
Во-первых, обои квантуются, уменьшая тысячи цветов в них до меньшего числа путем их слияния в цветовом пространстве. Уменьшенный набор цветов достаточно мал для эффективного применения статистических алгоритмов. Эти алгоритмы используются для оценки и фильтрации цветов; Android 12 присваивает цветам баллы за насыщенность и за то, насколько большую часть изображения они представляют, а также отфильтровывает цвета, близкие к монохромным.
Один цвет, по умолчанию — самый высоко оцененный алгоритмом, или выбранный пользователем в средстве выбора обоев, становится исходным цветом. Его оттенок и цветность влияют на общую цветовую схему, позволяя создать яркую синюю или приглушенную зеленую схему, в зависимости от выбора цвета пользователем.
Используя исходный цвет, мы создаем основную палитру, которая представляет собой набор из 5 тональных палитр. Тональная палитра определяется оттенком и цветностью; цвета в палитре получены из различных тонов. Эти тональные палитры снижают когнитивную нагрузку для дизайнеров при создании системы дизайна: вместо указания оттенка и цветности для каждой роли можно использовать тональную палитру.
Наконец, мы заполняем таблицу, которая определяет оттенок, цветность и тон для каждой цветовой роли, затем используем эти значения и HCT для создания цветов, используемых в теме.
Все необходимое для реализации Dynamic Color доступно в кроссплатформенной библиотеке кода Material Color Utilities. В настоящее время она доступна на Dart, Java и Typescript, но Google планирует перенести ее на iOS, CSS через SASS и шейдеры GLSL. Другие могут вносить свой вклад в библиотеку, учитывая ее открытый исходный код.
Мнение 9to5Google
Для Google Material You только начинает свой путь на телефонах на уровне ОС и приложений. Новый язык дизайна в конечном итоге будет доступен на всех продуктах Google, включая веб, Chrome OS, носимые устройства и умные дисплеи.
Будет интересно посмотреть, как Dynamic Color будет применяться на других устройствах. Google может использовать обои рабочего стола или просто синхронизировать палитру с вашего телефона. Носимые устройства могут использовать циферблат, а умные дисплеи — вращающиеся фотоальбомы. Забавным гипотетическим кандидатом для последнего форм-фактора может стать физическое окружение, в котором находится устройство.