рисование радужных палитр - PullRequest
1 голос
/ 07 июля 2010

У меня 8-битная цветовая палитра, поэтому у меня 256 цветов.

Палитра - это в основном массив значений [256 * 3] {r, g, b}, теперь мне нужно нарисовать спектр цветовиз этого.Таким образом, в основном я должен выбрать 256 из общего числа 256*256*256 возможных значений, которые позволили бы мне нарисовать радугу как можно ближе.

Подобные вопросы здесь о SO указывают на подход, основанный на HSV, но я ищуреализация RGB, потому что у меня есть API, определенные таким образом.

Любая помощь очень ценится.

Ответы [ 2 ]

4 голосов
/ 07 июля 2010

Решение HSV по-прежнему правильное, потому что оно в значительной степени отражает вашу проблему. «Радуга» по определению представляет собой серию цветов с постоянными S и V, но различающимися H.

1 голос
/ 07 июля 2010

В самом деле, использовать HSV проще всего, потому что это то, что вы в конечном итоге осуществите.Держите S и V фиксированными (оба в 1) и позвольте H изменяться от 0 ° до 360 °.

Рецепт для преобразования HSV в RGB описан в Wikipedia .

...