Форум — Ответы ( К темам )
? | Игорь: В продолжение смены цветов радуги... (14-05-2003 15:57:26) |
Когда-то ранее я пытался сделать плавную смену цвета, например, Label'a. Т.е. не дискретная смена цветов, а плавный переход между цветами через промежуточные оттенки. Игрался с комбинацией констант R G B. Может у кого-то есть готовый алгоритм плавного циклического цветового перехода по цветам радуги... | |
Павел (14-05-2003 17:32:56) | |
Как я уже говорил: красный — оранжевый — желтый — зеленый — голубой — синий — фиолетовый — красный //--------------------------------------------------------------------------- // таймер установил в 1/10 сек, измените скорость как вам надо void __fastcall TForm1::Timer1Timer(TObject *Sender) { static int r=255, g=0, b=0; // начинаем с красного if(b==0 && g < 255) g++; // красный-желтый if(g == 255 && r != 0) r--; // желтый-зеленый if(r == 0 && g == 255 && b != 255) b++; // зеленый-голубой if(r == 0 && b == 255 && g != 0) g--; // голубой-синий if(b == 255 && g == 0 && r != 255) r++; // синий-фиолетовый if(g == 0 && r == 255 && b != 0) b--; // фиолетовый-красный Tc = RGB(r,g,b); Label1->Color = Tc; Label2->Caption = r; Label3->Caption = g; Label4->Caption = b; } //--------------------------------------------------------------------------- Label2,3,4 — если захотите разобраться как происходит смена цветов | |
Павел (14-05-2003 17:38:19) | |
Да, забыл, переменная Tc описана как private: // User declarations TColor Tc; | |
Георгий (14-05-2003 18:19:37) | |
попробовал — прикольно
| |
Игорь (14-05-2003 19:19:27) | |
Спасибо, Павел!
|