// fill with noisy color Hue
procedure FillNaturalColor (Dest: TBGRABitmap; R : TRect; Hue: byte);
const RangeHue = 8;
RangeLight = 58;
RangeSat = 95;
BaseLight = 113;
BaseSat = 157;
var x,y : Integer;
h,l,s : byte;
col : TBGRAPixel;
begin
For y := R.Top to R.Bottom-1 do
begin
for x := R.left to R.Right - 1 do
begin
h := byte(Hue + Random(RangeHue +1));
l := BaseLight + Random (RangeLight+1);
s := BaseSat+ Random (RangeSat+1);
col := HSLAToBGRA(HSLA(h*256,s*256,l*256));
dest.setPixel(x,y,col);
end; //x
end; // y
end;