delphi jpg图片压缩有关问题CompressionQuality如何用

delphi jpg图片压缩问题CompressionQuality怎么用
procedure TForm1.Button1Click(Sender: TObject);
var
jpg: TJpegImage;
begin
jpg := TJpegImage.Create;
jpg.LoadFromFile('c:\1.jpg');
jpg.CompressionQuality:=40;
jpg.Compress;
jpg.SaveToFile('C:\AA.jpg');
end;
end.

------解决方案--------------------
感觉是异步操作引起的:文件还没读完就开始压缩。不妨试试再加个按钮,把 CompressionQuality 及以后的代码都由它启动(这样 jpg 就不能是局部变量了)。
------解决方案--------------------

uses jpeg;

procedure TForm13.btn1Click(Sender: TObject);
var
  jpg: TJpegImage;
  bmp: TBitmap;
begin
  jpg := TJpegImage.Create;
  bmp := TBitmap.Create;
  try
    jpg.LoadFromFile('c:\1.jpg');

    bmp.Width := jpg.Width;
    bmp.Height := jpg.Height;
    bmp.Canvas.StretchDraw(bmp.Canvas.ClipRect, jpg);
    jpg.Assign(bmp);

    jpg.CompressionQuality := 40;
    jpg.Compress;
    jpg.SaveToFile('C:\AA.jpg');
  finally
    bmp.free;
    jpg.free;
  end;
end;