Re: номер цвета -> RGB
- From
- Serge Krotov (2:5030/243.7)
- To
- Egor Yu. Shkerin
- Date
- 2002-09-28T22:20:29Z
- Area
- RU.ALGORITHMS
Доброе время суток, Egor !
Friday September 27 2002 20:51, Egor Yu. Shkerin wrote to Serge Krotov:
>> Как перевести номер цвета в RGB (три байта), где
>> K + 1 - количество цветов, которые нумеруются от 0 до K, причем
>> 0 - черный цвет ; на B отводится байт ($FF0000 - чистый синий),
>> на G - байт ($00FF00 - чистый зеленый), на R - байт ($0000FF -
>> чистый красный), $000000 - черный, $FFFFFF - белый. Как TColor в
>> delphi. :) Заранее прошу прощения, если задал банальнейший
>> вопрос. До скорого.
>> Serge Krotov
ES> ну не знаю...
ES> int R=C&0x0000FF;
ES> int G=(C&0x00FF00)>>8;
ES> int B=(C&0xFF0000)>>16;
ES> если это оно, то вопрос действително банален
Не оно. Это переводит в градации серого, т.е. от черного до белого. И цветов (K + 1) в таком варианте должно быть 256. А я хочу произвольное количество.
На сколько я понимаю, RGB возможно представить в виде куба со сторонами:
R от 0 до 255, G от 0 до 255, B от 0 до 255. И разбить этот куб на K + 1 маленьких кубика, координаты центра этого кубика и есть составляющие RGB, которые соответствуют этому цвету.
А вот каким образом это осуществить, я не знаю. :(
Может быть я не прав в вышеописанных соображениях.
До скорого.
Serge Krotov
--- GoldED 2.50+
* Origin: Symphonaire Infernus (2:5030/243.7)