Подскажите по работе с цветами

 

Задача такая.

В цикле создаются обекты (прямоугольники) . Они могут накладываться друг на друга и соответственно при одинаковом цвете получается наложение с вычитание, т.е. дырки.

Нужно чтоб цвет каждого следующего объекта в цикле отличался немного он предидущего.

Например базовый цвет i=1  Maroon(128), i=2 Maroon но немного светлее и т..д.

Как можно соорудить такую радугу цветов?

 
Палитра неограничена. Это сишные цвета, см. непосредственно в Си
 
Korey писал (а) >> Палитра неограничена. Это сишные цвета, см. непосредственно в Си

Я понимаю чт онеограничена, но не допетриваю как задать цвета в цикле.

К примеру если сделать Print(Maroon) то выводит 128

если в цикле задавать цвет объекта как Maroon+i (128+1) то ничего не происходит

 
color red=Red, yel=Yellow, green=Green;
   
Print("red=",red," yel=",yel," green=",green);
//


//
// red=255 yel=65535 green=32768

Это базовые цвета, т.е палитра образована смешением трех базовых цветов
каждому цвету отводится область

.......====

Цветовые константы могут быть представлены тремя различными способами: литерально, целочисленно или при помощи имени (только для именованных Web-цветов).

Литеральное представление состоит из трех частей, представляющих числовые значения интенсивности трех основных компонент цвета: красной (red), зеленой (green), синей (blue). Константа начинается с символа C и обрамляется одинарными кавычками. Числовые значения интенсивности компоненты цвета лежат в диапазоне от 0 до 255.

Целочисленное представление записывается в виде шестнадцатеричного или десятичного числа. Шестнадцатеричное число имеет вид 0x00BBGGRR, где RR - значение интенсивности красной компоненты цвета, GG - зеленной, а BB - синей. Десятичные константы не имеют прямого отражения в RGB. Они представляют собой десятичное значение шестнадцатеричного целочисленного представления.....

=====

 
Dezil писал (а) >>

Я понимаю чт онеограничена, но не допетриваю как задать цвета в цикле.

К примеру если сделать Print(Maroon) то выводит 128

если в цикле задавать цвет объекта как Maroon+i (128+1) то ничего не происходит

Посмотрите в этом индикаторе

Файлы:
 
Отлично сделано, - все вспоминал, можно ли обойтись без умножения в качестве сдвига влево на 16, да чего экономить.
Размер палитры зависит от в.карты. ограничение 255x255x255 это музейный VGA.
попробуйте изменить while(g !=255) больше чем 255.
 
Korey писал (а) >> Отлично сделано, - все вспоминал, можно ли обойтись без умножения в качестве сдвига влево на 16, да чего экономить. Размер палитры зависит от в.карты. ограничение 255x255x255 это музейный VGA. попробуйте изменить while(g !=255) больше чем 255.

Всем спасибо, разобрался

Причина обращения: