Home » Tipps & Tricks » Grafik » Grafikbearbeitung » Helligkeit eines Bildes ändern

Helligkeit eines Bildes ändern

Ein Faktor größer 1 hellt das Bild auf, ein Faktor kleiner 1 verdunkelt es.

type
  TRGBTripleArray = array[0..32768] of TRGBTriple;

procedure helligkeit_aendern(const Bitmap: TBitmap; const Faktor: Double);
var
  i,j: Integer;
  r,g,b: Integer;
  Reihe: ^TRGBTriple;
begin
  for i:= 0 to Bitmap.Height-1 do
  begin
    Reihe:= Bitmap.Scanline[i];
    for j:= 0 to Bitmap.Width-1 do
    begin
      r:=Round(Reihe^.rgbtred * faktor);
      b:=Round(Reihe^.rgbtblue * faktor);
      g:=Round(Reihe^.rgbtgreen * faktor);
      if r>255 then r:=255;
      if g>255 then g:=255;
      if b>255 then b:=255;
       Reihe^.rgbtred   := r;
       Reihe^.rgbtBlue  := b;
       Reihe^.rgbtgreen := g;
       inc(Reihe);
    end;
  end;
  bitmap.Assign(Bitmap);
end;