我用以下笨办法可以实现:
=========================
procedure TForm1.Button1Click(Sender: TObject);
var
   jp : TJpegImage;
begin
  jp := TJpegImage.Create;
  try
    jp.Assign(image1.Picture.Bitmap);
    jp.SaveToFile('c:\temp.jpg');
    image2.Picture.Assign(jp);
    TJPEGImage(Image2.Picture.Graphic).grayscale := true;
    image1.Picture.Graphic.Assign(image2.Picture.Graphic);
  finally
    jp.Free;
  end;
end;
//但一旦不执行 jp.SaveToFile('c:\temp.jpg');这句,则不成,困惑...