потому что ты просто пишешь pixels, но ничего не присваиваешь
кст, еще ClientWidth и ClientHeight перепутал
Код:
procedure TForm1.FormPaint(Sender: TObject);
var
x,y,t,a:real;
begin
a:=200;
Form1.Canvas.MoveTo(0, ClientHeight div 2);
Form1.Canvas.LineTo (ClientWidth, ClientHeight div 2);
Form1.Canvas.MoveTo(ClientWidth div 2,0);
Form1.Canvas.LineTo (ClientWidth div 2, ClientHeight);
{Form1.Canvas.Pixels[200,200]:=clRed; }
t:=0;
while t < 2*PI do
begin
x:= a*((3*COS(t) + COS(3*t))) / 4;
y:= a*((3*SIN(t) - SIN(3*t))) / 4;
Form1.Canvas.Pixels[round(X)+ClientWidth div 2,round(Y)+ClientHeight div 2]:=clBlack;
t := t + 0.001;
end;
end;