Ver Mensaje Individual
  #2  
Antiguo 03-01-2009
[coso] coso is offline
Miembro Premium
 
Registrado: may 2008
Ubicación: Girona
Posts: 1.678
Reputación: 0
coso Va por buen camino
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;

Última edición por coso fecha: 03-01-2009 a las 19:33:41.
Responder Con Cita