改变图像中特定圆周的像素解决方法

改变图像中特定圆周的像素
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ExtCtrls;

type
  TForm1 = class(TForm)
  Button1: TButton;
  Image1: TImage;
  Image2: TImage;
  
  procedure Button1Click(Sender: TObject);
  private
  { Private declarations }
  public
  { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var
  i,j,k:integer;
begin
  image1.Picture.Bitmap.loadfromfile('D:\我的文档\MATLAB\heihei.bmp');
  image2.picture.bitmap.width:=image1.picture.bitmap.width;
  image2.Picture.Bitmap.Height:=image1.Picture.Bitmap.Height;
  for i := 0 to image1.picture.bitmap.Height do
  for j := 0 to image1.picture.bitmap.Width do
  begin
  if (sqr(j-284)+sqr(i-264))=sqr(158) then //圆心为(284,264)半径为158的圆周的点像素置0
  image2.canvas.pixels[j,i]:=0
  else
  image2.canvas.pixels[j,i]:=image1.canvas.pixels[j,i];
  end;
end;

end.
上面代码我明明设置了在image2中定义圆周的像素为0了,为什么image2跟image1图像一样呢

------解决方案--------------------
(sqr(j-284)+sqr(i-264))=sqr(158)
这句,那些像素哪这么正好是158的平方?你需要看看计算机图形学里面画圆的那部分。