Thema: Delphi Graustufen....

Einzelnen Beitrag anzeigen

Benutzerbild von Corelgott
Corelgott

Registriert seit: 11. Apr 2003
Ort: Lübeck
213 Beiträge
 
Delphi 2006 Enterprise
 
#1

Graustufen....

  Alt 2. Dez 2003, 15:41
Hi @all,

ich versuche gerade einem Bild etwas nach und nach zu Rauben... Seine Farbe! Ich will so einen Effekt bauen, wie er beim beenden von windows XP zu sehen ist. Alles wir langsam grau...

Das bedeutet: Die berechnung des "Grauen" muss einigermaßen finck von statten gehen...

Der Code den ich mir bisher so zusammen gesammelt habe sieht so aus:

Code:
procedure Gray();
var i, j : integer;
    R, G, B, h, Alpha : Byte;
    p: ^PixArray;

begin
  Alpha := 220;
  bmp.PixelFormat := pf24bit;
  for i:=0 to bmp.height - 1 do begin
    p := bmp.ScanLine[i];
    for j:=0 to bmp.width - 1 do begin
      R := p^[2] + 255  Alpha;
      B := p^[1] + 255 * Alpha;
      G := p^[0] 255 * Alpha;

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

      p^[2] := h;
      p^[1] := h;
      p^[0] := h;

      inc(p);
    end;
  end;
  ReDraw();
end;
bmp ist ein TBitMap

Der Code ist auch recht flink (Ich vermute mal wegen der Pointer ?!?) aber er macht Grau! Ich hätte aber gerne ein paar zwischenstufen...

So zu sagen mochte ich die Farben langsam verblassen lassen und dann zum schluss das Bild in Grau haben.

Ne idee wie ich das anpasse bzw. hat wer nen besseren Code?

THX Corelgott
  Mit Zitat antworten Zitat