Коэффициент больше единицы осветляет изображение, коэффициент меньше единицы затемняет.
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;
Комментарии