首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

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

2013-03-04 
delphi jpg图片压缩问题CompressionQuality怎么用procedure TForm1.Button1Click(Sender: TObject)varjpg

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;

热点排行