Ver Mensaje Individual
  #7  
Antiguo 10-10-2008
[coso] coso is offline
Miembro Premium
 
Registrado: may 2008
Ubicación: Girona
Posts: 1.678
Reputación: 0
coso Va por buen camino
Código Delphi [-]
procedure Erosionar(bmp : TBitmap);
var
    i, j : integer;
    ori  : TBitmap;
begin
    ori := TBitmap.Create;
    ori.Width  := bmp.Width;
    ori.Height := bmp.Height;
    for i := 0 to bmp.width do
    for j := 0 to bmp.Height do
    ori.Canvas.Pixels[i,j] := bmp.Canvas.Pixels[i,j];
    for i := 0 to bmp.width do
    for j := 0 to bmp.Height do
    with ori.Canvas do
    begin
      if (Pixels[i-1,j-1]  = clBlack) or
         (Pixels[i ,j-1]   = clBlack) or
         (Pixels[i+1,j-1]  = clBlack) or
         (Pixels [i-1,j]   = clBlack) or
         (Pixels [i+1,j]   = clBlack) or
         (Pixels [i-1,j+1] = clBlack) or
         (Pixels [i ,j+1]  = clBlack) or
         (Pixels[i+1,j+1]  = clBlack) then
        bmp.canvas.Pixels[i,j] := clblack else
        bmp.canvas.Pixels[i,j] := Pixels[i,j];
   end;
   ori.Free;
end;

de todas maneras, te recomiendo que entiendas el codigo, sino siempre estaras pidiendo al respecto. Un saludo
Responder Con Cita