Registriert seit: 7. Aug 2008
Ort: Brandenburg
1.464 Beiträge
Delphi 12 Athens
|
Re: Better sepia wanted
28. Jan 2010, 11:46
try it out
Delphi-Quellcode:
type
TBGR = packed record
B, G, R: Byte;
end;
procedure RenderColor(ABitmap: TBitmap; NewHue, NewSaturation: Word);
var
Hue, Luminance, Saturation: Word;
p: ^TBGR;
c: TColor;
x, y: Integer;
begin
// NewHue := 36;
// NewSaturation := 64;
with ABitmap do
begin
PixelFormat := pf24Bit;
for y := 0 to Height - 1 do
begin
p := ScanLine[y];
for x := 0 to Width - 1 do
begin
c := RGB(p^.R, p^.G, p^.B);
ColorRGBToHLS(c, Hue, Luminance, Saturation);
c := ColorHLSToRGB(NewHue, Luminance, NewSaturation);
p^.B := GetBValue(c);
p^.G := GetGValue(c);
p^.R := GetRValue(c);
Inc(p);
end;
end;
end;
end;
|
|
Zitat
|