- procedure CreerHalo(X, Y, D : Integer; Bmp : TBitmap);
- var
- I, J, adding : Integer;
- P : pRGBArray;
- begin
- D := D div 2;
- for j := max(0, Y-D) to min(Y+D, bmp.Height-1) do begin
- P := bmp.ScanLine[j];
- for i := max(0, X-D) to min(X+D, bmp.Width-1) do begin
- adding := 255 - min(trunc(255*(sqrt(sqr(i-X)+sqr(j-Y))/D)),255);
- P[i].rgbtRed := min(255, P[i].rgbtRed + adding);
- P[i].rgbtGreen := min(255, P[i].rgbtGreen + adding);
- P[i].rgbtBlue := min(255, P[i].rgbtBlue + adding);
- end;
- end;
- end;
procedure CreerHalo(X, Y, D : Integer; Bmp : TBitmap);
var
I, J, adding : Integer;
P : pRGBArray;
begin
D := D div 2;
for j := max(0, Y-D) to min(Y+D, bmp.Height-1) do begin
P := bmp.ScanLine[j];
for i := max(0, X-D) to min(X+D, bmp.Width-1) do begin
adding := 255 - min(trunc(255*(sqrt(sqr(i-X)+sqr(j-Y))/D)),255);
P[i].rgbtRed := min(255, P[i].rgbtRed + adding);
P[i].rgbtGreen := min(255, P[i].rgbtGreen + adding);
P[i].rgbtBlue := min(255, P[i].rgbtBlue + adding);
end;
end;
end;