Как обстоят дела с терминальными цветами?

906
Max Cantor

Доступно 256 вариантов цветовых переходов:

  • 8 «системных» цветов (0 - 7)
  • 8 «ярких» системных цветов (8 - 15)
  • 216 или 6 * 6 * 6 "RGB" цветов (16 - 231)
  • 24 оттенка серого (232 - 255)

Меня интересуют цвета "RGB".

Первые шесть цветов, от 16 до 21, отображаются на следующие шестнадцатеричные значения RGB:

  • 16: 000000
  • 17: 000054
  • 18: 000087
  • 19: 0000af
  • 20: 0000d7
  • 21:00

Теперь только синие значения в десятичном виде:

  • 16: 0
  • 17: 84
  • 18: 135
  • 19: 175
  • 20: 215
  • 21: 255

Другими словами, значение RGB возрастает на 84, затем на 51 (84 + 51 = 135), а затем на 40 оставшуюся часть пути.

Этот цикл из 6 значений от 0 до 255 повторяется 36 раз, сначала с синим, затем с зеленым, затем с красным, в конечном итоге формируя наш «куб» из 216 конечных цветов:

All 256 terminal colors

Мой вопрос: почему?

Кто-нибудь знает, есть ли историческая / техническая причина для этого, или это было просто произвольное решение, принятое кем бы то ни было, чтобы решить, что означают цветовые коды? Это отображение появилось до того, как RGB стал таким универсальным соглашением? Почему бы не подняться на 42, 42, 42, 43, 43, 43?

1
Для меня цвет № 17 - # 00005F (проверено в xterm, gnome-terminal, konsole, терминологии, st). То есть он увеличивается на 95, а затем в 5 раз на 40. Тем не менее, он не имеет особого смысла. egmont 9 лет назад 0
"Почему бы не подняться на 42, 42, 42, 43, 43, 43?" Вы сделали математику неправильно. Куб 6x6x6 означает 5 шагов от одного конца к другому, а не 6. То есть, вы должны увеличивать на 51 на каждом шаге. Я действительно не уверен, что это выглядело бы равномерно для человеческого глаза. egmont 9 лет назад 0
Для справки отметим, что несколько эмуляторов терминала (например, gnome-терминал, konsole, st) поддерживают произвольные цвета #rrggbb через escape-последовательности. Увы, поддержка приложений довольно скудная. egmont 9 лет назад 0
Для меня большой вопрос не в том, почему цветной куб 6x6x6 выглядит так. Для меня большой вопрос - почему прямой RGB без палитры еще не вступил во владение, и почему разработчик не настаивает на этом. egmont 9 лет назад 0

2 ответа на вопрос

1
Thomas Dickey

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

Технические подробности приведены в FAQ по xterm. Могу ли я установить цвет по его номеру?

0
Jeff Clayton

В курсе, который я проходил в колледже, мне сказали, что человеческий глаз может обнаружить около 256 оттенков любого одного цвета [или настолько близко, что байт может эффективно соответствовать этому], поэтому 256 из каждого из трех основных цветов позволяют для всех цветов, которые может видеть человеческий глаз. В остальном я не уверен.

Нашел это в википедии: http://en.wikipedia.org/wiki/Web_colors#Web-safe_colors "Был необходим набор цветов, которые можно было отображать без сглаживания на 256-цветных дисплеях; число 216 было выбрано отчасти потому, что компьютер работал Системы обычно резервируют от шестнадцати до двадцати цветов для собственного использования, это также было выбрано потому, что допускает ровно шесть одинаково расположенных оттенков красного, зеленого и синего (6 × 6 × 6 = 216), каждый от 00 до FF (включая оба лимиты) «. Jeff Clayton 9 лет назад 0
Цветовое отображение меня заинтриговало. Jeff Clayton 9 лет назад 0
Тем не менее, они не одинаково разнесены - первые два увеличиваются на 84 и 51, а остальные на 40. Вполне возможно, что решение было совершенно произвольным, но я просто ужасно очарован потенциальными рассуждениями, если оно не было. Max Cantor 9 лет назад 0
Базовые 16 системных цветов - это, скорее всего, возвраты, которые никогда не менялись, когда в изображение вошло 256 цветов VGA (на самом деле это не игра слов) Jeff Clayton 9 лет назад 0

Похожие вопросы