Einzelnen Beitrag anzeigen

Blamaster

Registriert seit: 20. Jul 2007
230 Beiträge
 
#6

Re: RGB Lampe Sound 2 Light Steuerung

  Alt 16. Mai 2009, 20:39
Hi,

Danke für die guten Lösungsansätze.

Ich habe aus den 2 Vorschlägen jetzt mal einen gemacht.

Delphi-Quellcode:
procedure TForm1.Timer1Timer(Sender: TObject);
var
  Color_R, Color_G, Color_B, level: integer;
begin

  level := BASS_ChannelGetLevel(RecChannel);

  if CheckBox1.Checked then begin
    Color_R := round((LOWORD(level) / (32768 / 255)) - TrackBar1.Position);
    Color_R := Color_R * 5 div 100 + Color_R_old * 95 div 100;
  end else Color_R := 0;

  if CheckBox2.Checked then begin
    Color_G := round((LOWORD(level) / (32768 / 255)) - TrackBar1.Position);
    Color_G := Color_G * 5 div 100 + Color_G_old * 95 div 100;
  end else Color_G := 0;

  if CheckBox3.Checked then begin
    Color_B := round((HIWORD(level) / (32768 / 255)) - TrackBar1.Position);
    Color_B := Color_B * 5 div 100 + Color_B_old * 95 div 100;
  end else Color_B := 0;

  if Color_R > Color_R_old then Color_R_old := Color_R else
    if Color_R_old > 0 then Color_R_old := (Color_R_old - 20);
  if Color_G > Color_G_old then Color_G_old := Color_G else
    if Color_G_old > 0 then Color_G_old := (Color_G_old - 20);
  if Color_B > Color_B_old then Color_B_old := Color_B else
    if Color_B_old > 0 then Color_B_old := (Color_B_old - 20);

  JvColorTrackBar4.Position := Color_R_old;
  JvColorTrackBar5.Position := Color_G_old;
  JvColorTrackBar6.Position := Color_B_old;
  JvPanel3.Color := RGB(Color_R_old, Color_G_old, Color_B_old);

  SendRGB(Color_R_old, Color_G_old, Color_B_old);

end;
Funktioniert soweit auch schonmal garnicht so schlecht, denke aber mal noch verbesserungsfähig.

Falls jemand noch einen Vorschlag zur verbesserung hat immer her damit

Ich habe damit sich auch besser probieren lässt im anhang nochmal das Programm inkl. Source.

mfg Blamaster
Angehängte Dateien
Dateityp: rar ergb_130.rar (544,6 KB, 39x aufgerufen)
  Mit Zitat antworten Zitat