delphi 图片压缩有关问题,最好能实现压缩完无锯齿变形

delphi 图片压缩问题,最好能实现压缩完无锯齿变形
delphi 图片压缩问题,最好能实现压缩完无锯齿变形
以下是我写的代码,用是可以,但是会发生个很奇怪的问题,当有大量图片 批量压缩的时候,调用以下函数
会在注释掉的地方报句柄出错(大量压缩,利用线程跑,线程基本没问题)
还有 时不时 会在save成图片的时候 也会报错 
况且 这种压缩出来的图片 会有锯齿 比如 图片大小 1000*1000 压缩成 100*100 就会有锯齿
网络上找了很多 有说用Graphic32控件的 控件安装好了 但是实在搞不懂该怎么处理
还请教大家 谢谢。。

procedure JpgCompress(InFileName, OutFileName: string;
  Percent: Integer);
var
  Bitmap: TBitmap;
  JpegImage: TJpegImage;
begin
  Bitmap := TBitmap.Create;
  JpegImage := TJpegImage.Create;
  try
    JpegImage.LoadFromFile(InFileName);
    Bitmap.Height := JpegImage.Height*Percent div 100;
    Bitmap.Width := JpegImage.Width*Percent div 100;
    Bitmap.Canvas.StretchDraw(Bitmap.Canvas.ClipRect, JpegImage);
    JpegImage.Assign(Bitmap);
    try
//      JpegImage.CompressionQuality := 100;
//      JpegImage.Compress;
      JpegImage.SaveToFile(OutFileName);
    except
      ShowMessage('save error');
    end;
  finally
    Bitmap.Free;
    JpegImage.Free;
  end;
end;

------解决思路----------------------
抛了什么异常?你要把异常信息输出的。也许是输入的文件格式不对。
------解决思路----------------------
引用:
文件没问题。 线程中跑 会抛句柄出错 
但是线程我是没问题 奇怪了。 

丢出测试工程吧,没重现错误的话,很难找出原因的。
------解决思路----------------------
使用ImageEn可实现无损压缩。
------解决思路----------------------
用GDI+可以实现,参考:http://bbs.****.net/topics/390695373 14楼的代码。