Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi Fade zu Graustufen (https://www.delphipraxis.net/12829-fade-zu-graustufen.html)

seifman 4. Dez 2003 18:17


Fade zu Graustufen
 
Hallo!

Ich wollte mal wissen, ob jemand Ahnung hat, wie ich die Farbe des Bildschirmes langsam in ein grau überblenden lassen kann. Das Ganze soll etwa so aussehen, wie wenn man sich bei WinXP abmeldet.

Würde mich freuen, wenn mir da jemand helfen könnte.

MfG seifman

Stanlay Hanks 4. Dez 2003 18:26

Re: Fade zu Graustufen
 
Hi. Hmmm, also die Farbe des Bildschirms. Das weiß ich leider auch nicht. Ich kann dir bloß ein Paar Stichworte geben, die, die du in der IH findest sind mit OH gekennzeichnet:
  • Grautöne haben immer identische Rot-, Grün- und Blauwerte
  • In diesem Zusammenhang könntest du dir die Funktion "RGB" anschauen, die einzelne Farbwerte zu einem TColor Wert vereinigt. (=> OH)
  • Zum Thema langsam: Ein Timer wird dir da wohl nicht erspart bleiben (=> OH)
  • Im Allgemeinen müsstest du wohl sozusagen einen übergang zwischen Grau und der ausgangsfarbe schaffen. Das ist im Prinzip ein "stufenweiser" Hier im Forum suchenFarbverlauf, der nach und nach angezeigt wird.

Man liest sich, Stanlay :hi:

Corelgott 23. Dez 2003 12:18

Fade zu Graustufen!
 
Tach auch,

Grau? Da bitte:

Code:
procedure TDraw.MakeGray(Image : TBitmap; HowGray : Byte);
var i, j : integer;
    R, G, B, h : Byte;
    p: ^PixArray;

begin
  Image.PixelFormat := pf24bit;
  for i:=0 to Image.height - 1 do begin
    p := Image.ScanLine[i];
    for j:=0 to Image.width - 1 do begin
      R := p^[2];
      G := p^[0];
      B := p^[1];

      //h := (r+b+g) div 3;
      h:= HiByte(r*77+g*150+b*28);

      p^[2] := h + Round((R - h) / 255 * HowGray);
      p^[0] := h + Round((G - h) / 255 * HowGray);
      p^[1] := h + Round((B - h) / 255 * HowGray);

      inc(p);
    end;
  end;
end;
Das müsste ein Bild grau machen...
:cyclops:

cya...
Corelgott

himitsu 23. Dez 2003 12:28

Re: Fade zu Graustufen
 
@Corelgott:

Ja dein Code macht schön Grau, aber es sollte ja nicht sofort Grau werden, sonder langsam ins Graue übergeh'n (wie halt bei XP, wenn man dort den Beendendialog öffnet).

Also nicht: Bunt => Grau
sondern: Bunt => etwas Gräulich => noch Grauer => ... => fast Grau => total Grau

http://www.delphipraxis.net/images/common/divider.jpg
http://www.FrankNStein.de/Smiley-Kuss2.gif * * http://www.FrankNStein.de/Smiley-Spinne.gif * * * http://www.FrankNStein.de/Smiley-Winken.gif

Corelgott 24. Dez 2003 16:31

Re: Fade zu Graustufen
 
Liste der Anhänge anzeigen (Anzahl: 1)
@himitsu


???

Den Grad wie grau das Bild sein soll kann man doch bei der Prozedur angeben! Die Variable HowGray steuert das. Bei einem wert von 0 ist das Bild komplett in Farbe und bei 255 ist das Bild komplett grau! (Kann auch anders rum sein :-D Ich bin zu faul zum nachdenken :!: )

Ich lege mal ne Beispiel-Zip mit ner Demo bei...

cya Corelgott

himitsu 24. Dez 2003 16:53

Re: Fade zu Graustufen
 
Ohh - habsch wohl übersehn


Alle Zeitangaben in WEZ +1. Es ist jetzt 06:59 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz