Einzelnen Beitrag anzeigen

moritz

Registriert seit: 18. Apr 2003
1.037 Beiträge
 
#7

Re: Anwendung grau werden lassen? Wie bei WinXP beenden!

  Alt 15. Mär 2005, 14:13
Zitat von whiteshark:
Wie wäre es,wenn du über einen Timer die RGB-Werte des Backgrounds immer mehr ins graue gehen lässt.
Und die Farbänderung packst du in eine Schleife.
Delphi-Quellcode:
function farbe(var i:integer):integer;
begin
for i:=1 to 255 do
   begin
   form1.color:=RGB(45,67,i);
   end;
end; //end of function
Halt, dadurch wird es nicht grau, sondern nur weniger blau. Die Funktion muss im Prinzip so aussehen:
Delphi-Quellcode:
procedure Blur(var blurColor: TColor; const MaxGrey: Byte {0 means Black}; const Delay: Byte);
var
  cRGB: Longint;
  Red, Green, Blue: Byte;
  I: Byte;
  Steps: Byte;
begin
  cRGB := ColorToRGB(blurColor);
  Red := Byte(cRGB); Green := Byte(cRGB shr 8); Blue := Byte(cRGB shr 16);
  Steps := 255-MaxGrey;
  for I:=0 to Steps do
  begin
    blurColor := RGB(Red-Round(I*(Steps/Red)), Green-Round(I*(Steps/Green)), Blue-Round(I*(Steps/Blue)));
    Application.ProcessMessages;
    Sleep(Delay);
  end;
end;
(Passiert allerdings noch ne hässliche Division durch Null)

Gruß
"Optimistisch ist diejenige Weltanschauung, die das Sein höher als das Nichts stellt und so die Welt und das Leben als etwas an sich Wertvolles bejaht."
Albert Schweitzer
  Mit Zitat antworten Zitat