кодирование цвета (цвет в MidnightCommander)

Модератор: /dev/random

wlad_O
Сообщения: 44

кодирование цвета

Сообщение wlad_O »

Дико извиняюсь, но это опять я.
Прошлая моя тема так и окончилась ничем, т.е. воспроизвести глюк (если
это был глюк) не получается. Ну и забыли :rolleyes:
Поставил я МС из гита аж на 256 цветов. Ставил я его еще несколько раньше,
а с ним была тема xoria256. Сейчас появилась еще вторая тема: sand256.
Ее я присобачил для вызова МС от рута.
Так вот. В конфиге этой темы часть цветов обозначена как color(0-255), а часть,
как rgb(0-555). Для color я нашел программку, которая в консоли выдает все 256
цветов, так что можно легко править конфиг в соответствии с тем, что моя
душенька пожелает. Но в отношении rgb (а там какое-то хитрое шестибитовое
кодирование)уже много дней поиска не дают нужных результатов. А ведь есть
соответствие. Может, кто-то знает об этом.
Буду крайне обязан.
С уважением, Влад
Спасибо сказали:

Аватара пользователя
/dev/random
Администратор
Сообщения: 5102
ОС: Gentoo

Re: кодирование цвета

Сообщение /dev/random »

Почему бы не попробовать самое очевидное? 555 - довольно странное число, и единственное разумное объяснение для него - то, что каждая цифра его записи отвечает за свой канал.
Спасибо сказали:

wlad_O
Сообщения: 44

Re: кодирование цвета

Сообщение wlad_O »

/dev/random писал(а):
26.03.2011 23:39
Почему бы не попробовать самое очевидное? 555 - довольно странное число, и единственное разумное объяснение для него - то, что каждая цифра его записи отвечает за свой канал.


Пока ничего очевидного не вижу. Что касается 555, то Вы разумно объясняете. Действительно, три цифры - это три цвета в шестибитной кодировке. Но я хочу изменить предложенный в конфиге цвет на другой. На что ориентироваться? Если в конфиге стоит color255, например, я запускаю перловский скрипт (найденный в инете) и в консоли вижу все 255разноцветных строк вида "255 :ee/ee/ee". Подбираю понравившийся цвет и вписываю его код после слова "color" в конфиг. Причем, без скрипта я бы и здесь не разобрался, т.к. цвета располагаются не так, как в цветовом круге, а по иной системе.
Подобную таблицу для кодировки (rgb0-555) я и ищу. Если с цветами в шестнадцатиричной кодировке можно легко разобраться даже и без таблиц, то с (rgb0-555) я просто теряюсь. Очень долго не могу найти таблицу, поэтому и обратился сюда. А ведь авторы конфигов чем-то пользовались...

С уважением, Влад
Спасибо сказали:

wlad_O
Сообщения: 44

Re: кодирование цвета

Сообщение wlad_O »

wlad_O писал(а):
27.03.2011 22:54
в консоли вижу все 255разноцветных строк вида "255 :ee/ee/ee". Подбираю понравившийся


Прошу прощения за ошибку. Исправляюсь:
"в консоли вижу все 256 разноцветных строк"





С уважением, Влад
Спасибо сказали:

Аватара пользователя
/dev/random
Администратор
Сообщения: 5102
ОС: Gentoo

Re: кодирование цвета

Сообщение /dev/random »

wlad_O писал(а):
27.03.2011 22:54
Пока ничего очевидного не вижу. Что касается 555, то Вы разумно объясняете. Действительно, три цифры - это три цвета в шестибитной кодировке. Но я хочу изменить предложенный в конфиге цвет на другой. На что ориентироваться? Если в конфиге стоит color255, например, я запускаю перловский скрипт (найденный в инете) и в консоли вижу все 255разноцветных строк вида "255 :ee/ee/ee". Подбираю понравившийся цвет и вписываю его код после слова "color" в конфиг. Причем, без скрипта я бы и здесь не разобрался, т.к. цвета располагаются не так, как в цветовом круге, а по иной системе.
Подобную таблицу для кодировки (rgb0-555) я и ищу. Если с цветами в шестнадцатиричной кодировке можно легко разобраться даже и без таблиц, то с (rgb0-555) я просто теряюсь. Очень долго не могу найти таблицу, поэтому и обратился сюда. А ведь авторы конфигов чем-то пользовались...

Вы, похоже, меня не поняли. Я имел в виду, что кодировка здесь не "шестибитная", как вы говорите, а шестеричная. Т.е. если вы хотите получить "классический" 256-ричный rgb, каждую цифру отдельно умножьте на 255 и разделите на 5. К примеру, 235 будет примерно 102/153/255 (66/99/ff) в классическом RGB. Именно это я назвал "самым очевидным" вариантом, который вам следует попробовать в первую очередь.
Спасибо сказали:

wlad_O
Сообщения: 44

Re: кодирование цвета

Сообщение wlad_O »

/dev/random писал(а):
27.03.2011 23:06
каждую цифру отдельно умножьте на 255 и разделите на 5.


То есть, просто умножить на 51. Спасибо, уже задумался.
А где об этом можно почитать?
С уважением, Влад
Спасибо сказали:

wlad_O
Сообщения: 44

Re: кодирование цвета

Сообщение wlad_O »

/dev/random писал(а):
27.03.2011 23:06
Вы, похоже, меня не поняли.


Уважаемый /dev/random! Будем считать, что вопрос решен. Хотя и через одно место, но
с Вашей помощью. Полученные по формуле х=у*255/5 цифры перевожу калькулятором в
шестнадцатиричные, а там уже ясно, что это за цвет.
С другой стороны, вместо "rgb..." можно в конфиг sand256.ini вписывать "color..." и это тоже
работает. Не ожидал, что шестиричная система счисления вообще где-то и как-то используется http://unixforum.org/style_emoticons/default/blush.gif
Рад, что в этом форуме встретил внимательного и тактичного товарища.
Всем спасибо!
С уважением, Влад
Спасибо сказали:

wlad_O
Сообщения: 44

Re: кодирование цвета

Сообщение wlad_O »

wlad_O писал(а):
29.03.2011 16:28
Уважаемый /dev/random! Будем считать, что вопрос решен. Хотя и через одно место, но
с Вашей помощью.


Добиваю вопрос до конца, может, кому-то и пригодится.
Дело не в шестибитной кодировке и не в шестиричной системе счисления.
Дело в том, что кодирование 256 цветов производится по так называемой
безопасной цветовой палитре, где шаг от оттенка к оттенку составляет
в шестнадцатеричном виде 33 (0,33,66...), что соответствует в десятичном
виде 51 (0,51,102...). Кодировка rgb(xxx) означает после rgb количество шагов в
десятичном виде. Т.е., если цвет 153.153.153 (в шестнадцатеричном виде
99.99.99), то это можно перевести как rgb333.
С уважением, Влад
Спасибо сказали: