hola, creo que te has hecho un lio. Te dejo el codigo, y te recomiendo que lo entiendas
Código Delphi
[-]
procedure TForm1.Button1Click(Sender: TObject);
var
x,y,r,i,j : integer;
begin
x := 150;
y := 150;
r := 50;
for i := x-r to x+r do
for j := y-r to y+r do
if ((i-x)*(i-x) + (j-y)*(j-y)) < r*r then canvas.pixels[i,j] := (j+i)*3;
end;
procedure TForm1.Button2Click(Sender: TObject);
var
x,y,r,i,j : integer;
phi : double;
begin
x := 150;
y := 350;
r := 50;
phi := 0;
while phi < 2*PI do
begin
i := Round(x + r*cos(phi));
j := Round(y + r*sin(phi));
canvas.pixels[i,j] := i+j;
phi := phi + 0.001;
end;
end;
procedure TForm1.Button3Click(Sender: TObject);
var
x,y,r,i,j : integer;
rd : double;
cl : array of TColor;
begin
x := 150;
y := 150;
r := 50;
setlength(cl,r);
for i := 0 to length(cl) - 1 do
cl[i] := Round(255-i*255/r)*$010000 ;
for i := x-r to x+r do
for j := y-r to y+r do
begin
rd := (i-x)*(i-x) + (j-y)*(j-y);
if rd < r*r then canvas.pixels[i,j] := cl[Round(sqrt(rd))];
end;
setlength(cl,0);
end;