8bit color code to 32bit color code

Сегодня мне прислали цвета стен для одной сценки. Опустим неприятные подробности разлиция человеческого цветового восприятия, различия мониторов (ей просаженный CRT vs мой дешевый LCD) и гаммы ренедра.

Перейдем сразу к проблеме - она дала коды цветов в формате 8bit RGB (каждый канал в диапазоне от 0 до 255, например, 211, 222, 89), а макс, нынче (2009), понимает только float коды цветов (тот же самый диапазон только описанный значениями от 0 до 1.0). Это своеобразная проблема решается очень просто -

нужно, поделить значение каждого канала на 255, и разумно округлив полученное число получить код во float системе.


Например, переведем мой любимый серо-синий цвет (48, 130, 169, 0) из 8 бит во Float -
Red 48/255=0.18823.... ~0.19
Green 130/255=0.50980... ~0.51
Blue 169/255=0.66275... ~0.66
0/255=0 (это альфа канал, и хоть сейчас его нет, это значение переводится по такому же принципу)

Вот и весь фокус, удачных рендеров.

Today I got some color codes from my client, and disregard difference in diferent people's color reseption, her old CRT vs. my cheap LCD display and gamma adjastiment in my render, a problem arise.

She gave me 8bit code (color channel keeps it's information in number of 0 to 255 range), my aplication (Max 2009) accepts color codes only in float (same range, but values go from 0 to 1.0). So I have to find a way to convert 8bit code to float.

Well, it is rather logical and simple - just divide every channel value to 255. And you'll recieve a float color code.

For example, lest translate my favorite graish-blue color from 8bit to float values.


Red 48/255=0.18823.... ~0.19
Green 130/255=0.50980... ~0.51
Blue 169/255=0.66275... ~0.66
0/255=0 (this is an alpha channel (or it can be any other channel), but trick is the same)

That is all, happy renders.

ps. Sorry for my english, it is not my naitive tongue.

1 комментарий:

  1. ну надо написать что float только в ColorCorrection а в просто цвете все далее в RGB

    ОтветитьУдалить