Ограничения цвета, вводимые пользователем

Какое ограничение следует наложить на цветовую гамму для определяемых пользователем цветов?

Я помогаю создать веб-сайт, который предложит организациям создать свои собственные страницы. Мы хотим предоставить им возможность настраивать цвет фона, а также цвет «выделения» на их странице.

Цвет выделения определяет цвет всех значков и кнопок на их странице. Из-за этого мы не можем допустить, чтобы цвет подсветки был слишком светлым/тусклым/ярким.

Мы предлагаем следующий интерфейс для выбора цвета:

адаптация https://bgrins.github.io/spectrum/#details-ieImplementation

адаптация https://bgrins.github.io/spectrum/#details-ieImplementation

Вы можете видеть, что выбранный цвет отражается на кнопке «выбрать», а также будет применяться к другим кнопкам в пользовательском интерфейсе.

Мой потенциально наивный план состоял в том, чтобы ограничить цветовой спектр двумя разными способами:

  1. Оцените выбранный цвет в RGB — проверьте, меньше ли суммарное значение R, G и B 255 (по шкале от 0 до 255).

  2. Оцените выбранный цвет в HSL — извлеките значение L (яркость или яркость) и проверьте, меньше ли значение 0,5.

Когда пользователь выбирает цвет, который не находится в правильном диапазоне, появляется сообщение об ошибке, уведомляющее о необходимости выбрать более темный цвет.

Эта реализация, кажется, работает довольно хорошо. Все яркие цвета подпадают под указанные выше ограничения, за некоторыми исключениями (например, полный зеленый цвет кажется мне ярче, чем полный красный... не знаю почему)

Мой вопрос заключается в том, существует ли стандартное ограничение, наложенное на аналогичные выборки. Есть ли лучший способ оценить и ограничить выбранные цвета?

OT, но причина того, что 0x00FF00 выглядит ярче, чем 0xFF0000, заключается в том, что человеческий глаз наиболее чувствителен к зеленому свету и наименее чувствителен к красному. По этой же причине часто труднее увидеть зеленый цвет на белом фоне, а красный — на черном фоне.
Могут ли они выбрать темный фон? Если это так, ограничение их темными бликами не сработает. Они могут захотеть, чтобы это выглядело как ночной режим/терминал/геогорода 90-х.
@ChrisH мы разработали наш контент так, что он весь завернут в полупрозрачные «карточки» в оттенках серого. Таким образом, выбор цвета фона на самом деле не влияет на содержимое, он просто добавляет цветовую гамму, чтобы окружить содержимое.

Ответы (2)

Я бы воздержался от отображения всех параметров цвета в палитре цветов по нескольким причинам: 1) пользователю неприятно видеть (или даже выбирать) параметры, которые у него не могут быть в конечном итоге. И что более важно 2) большинство людей будет сбито с толку этой настройкой, по крайней мере поначалу. Если пользователь использует ваш продукт в первую очередь, есть вероятность, что он предпочтет что-то более простое, но менее мощное.

Вместо этого я бы порекомендовал либо дать им выбор из готовых цветов, либо дать им выбор из готовых палитр (цветовых комбинаций). Вы также можете разрешить настройку позже или сделать ее более скрытой для более «опытных пользователей». Я делаю такие вещи в своих приложениях все время. Делая это, вы можете иметь более полный контроль, не расстраивая пользователей (как часто).

Я буду очень прямолинеен.

Мы хотим предоставить им возможность настраивать цвет фона, а также цвет «выделения» на их странице.

Не. Серьезно, не надо. Если вы не уверены, что редакторы сайта очень хорошо разбираются в теории цвета и имеют представление об общей цветовой палитре сайта, предоставление пользователям контроля над цветом является Плохой Идеей™.

Я бы посоветовал вам создать несколько предварительно выбранных палитр, из которых клиент может затем выбрать набор . Таким образом, вы даете пользователю идею выбора и свободы, не имея шанса на кораблекрушение, как #ff0000в #00ff00этом случае, поверьте мне, ваш пользователь захочет сделать выбор в какой-то момент. Предлагаемые вами правила только расстроят их, потому что они могут видеть цвета в графическом интерфейсе, но не могут их выбирать.

Спасибо за отзыв, и Заку тоже! Я понимаю, как предоставление конечным пользователям такого большого контроля над выбором цвета позволяет сделать довольно ужасный выбор. Обратной стороной этого является то, что палитра довольно ограничена в своих возможностях. Мы можем (и имеем) разработать палитры, которые отлично смотрелись бы на нашем сайте. Но истинная цель этой настраиваемости состоит в том, чтобы пользователи могли выбирать цвета, соответствующие их брендингу. Еще одна наша идея заключалась в том, чтобы позволить им выбирать цвет выделения и автоматически генерировать цвет фона на основе их выбора.
@user3915135 user3915135 Такой подход к созданию цвета фона для них также действителен, хотя IMO все еще ограничивает, поскольку они не могут выбирать разные стили фона (один и тот же основной цвет может иногда работать со многими цветами фона). Какой бы путь вы ни выбрали, есть плюсы и минусы
@ZachSaucier точно. Мы взвесим эти плюсы и минусы и определим, какое решение лучше всего подойдет нашим конечным пользователям. Спасибо за отзыв!