![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Палитра цетов [D6]
Fast © (2002-04-11 12:58:00)Как нарисовать радугу?
Т.е. ситуация такая надо нарисовать цвета плавно переходящие от краного до синего.
Fast (2002-04-11 15:16:00) [1]спасибо сделал по градиентам может кому пригодистя
var k,color:integer;
ColorInd: Array[1..1024] of integer; //Массив цветов
begin
j:=0; k:=1;
for i:=0 to length(ColorInd) do
begin
inc(j);
if j>255 then
begin
j:=0;
inc(k);
end;
Case k of
1: Color:=255+256*(j)+0;
2: Color:=(255-j)+256*255;
3: Color:=0+256*255+256*256*j;
4: Color:=0+256*(255-j)+256*256*255;
end;
ColorInd[i]:=Color;
if color=0 then showmessage(IntToStr(i));
end;
end;
Кривовато конечно но работает.
hadra (2002-04-11 14:59:00) [2]или использовать представление цвета в HLS, меняя компоненту оттенка (H)ue
MBo (2002-04-11 13:34:00) [3]придется сделать градиентные переходы
красный-зеленый-синий(-голубой-фиол. если надо)