среда, 3 марта 2010 г.

Запись "для себя", а то потеряю..

На хабре увидел прикольную лампу, которая подсвечивается rgb-светодиодом и плавно меняет свой цвет со временем.. мне резко стало надо такую же лампу, самой лампы подходящей пока нету, но железок разных полно вытащено на свет божий в посл. время, так что сварганю Но исходник той статьи конечно безбашенный, компилится в 6 с лишним килобайт и влезает минимум в мегу8 - что занадто имхо для 3-х светодиодов, пусть даже и плавно меняющих цвет В перерыве между отладкой набросал код в делфи, "плавно" меняющая свой свет шейпина на форме, из этого приду сделаю (может влезет в 2313) си-шную прошивку вечером

Код:

   1: var
   2:   r1, g1, b1: byte;
   3:   dr, dg, db: byte;
   4:  
   5:   steps: byte;
   6: begin
   7:   r1 := Random(255);
   8:   g1 := Random(255);
   9:   b1 := Random(255);
  10:  
  11:   shp1.Brush.Color := RGB(r1, g1, b1);
  12:   Application.ProcessMessages;
  13:  
  14:   while not Application.Terminated do
  15:   begin
  16:     steps := 25;
  17:     dr := (Random(255) - r1) div steps;
  18:     dg := (Random(255) - g1) div steps;
  19:     db := (Random(255) - b1) div steps;
  20:  
  21:     while steps < 0 do
  22:     begin
  23:       r1 := r1 + dr;
  24:       g1 := g1 + dg;
  25:       b1 := b1 + db;
  26:  
  27:       shp1.Brush.Color := RGB(r1, g1, b1);
  28:       Application.ProcessMessages; sleep(50);
  29:       dec(steps);
  30:     end;
  31:   end;
  32: end;

Комментариев нет:

Отправить комментарий