Helligkeit eines Bildes ändern |
|
| System | Win9x, WinNT, Win2000, WinXP, Vista, Win7 |
|---|---|
| Ab Delphi-Version | Delphi 1 |
| Letzte Änderung | 28.09.2010 |
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;
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;