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)