Hallo,
oh wie schoen, Farbspielereien:
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42: 43: 44: 45: 46: 47: 48: 49: 50: 51: 52: 53: 54: 55:
| procedure TForm1.Button2Click(Sender: TObject); var t : TDateTime; Anteil,Spannweite,Sockelanteil : double; r,g,b,OrgFarbe, grundhelligkeit,MaxHelligkeit : integer;
procedure Tageslauf; var I,r1,g1,b1 : integer; begin t := time; Spannweite:= (MaxHelligKeit-GrundhelligKeit)/MaxHelligkeit; Sockelanteil :=GrundhelligKeit/MaxHelligkeit; repeat r := random(Maxhelligkeit-Grundhelligkeit)+Grundhelligkeit; g := random(Maxhelligkeit-Grundhelligkeit)+Grundhelligkeit; b := random(Maxhelligkeit-Grundhelligkeit)+Grundhelligkeit; For i := 99 downto 0 do begin Anteil := i/100*Spannweite+Sockelanteil; r1 := round(r*Anteil); g1 := round(g*Anteil); b1 := round(b*Anteil); Form1.Color := (r1*256+g1)*256+b1; Form1.Update; sleep(20); end; For i := 1 to 100 do begin Anteil := i/100*Spannweite+Sockelanteil; r1 := round(r*Anteil); g1 := round(g*Anteil); b1 := round(b*Anteil); Form1.Color := (r1*256+g1)*256+b1; Form1.Update; sleep(20); end; until (time-t)*86400 > 20; end; begin OrgFarbe := Form1.Color; Grundhelligkeit := 130; Maxhelligkeit := 255; Tageslauf; Grundhelligkeit := 50; Maxhelligkeit := 120; Tageslauf;
Form1.Color := OrgFarbe; Form1.Update; end; |
Farben werden also mit ihren Anteilen an rot,gün, blau (jeweils möglich0..255) belegt.
Mit einer Grundhelligkeit und ein Maximalhelligkeit.
Noch nicht optimal aber mehr gibt´s jetzt nicht.
Gruss Horst