讨论:文件流拷贝对jpg的压缩
procedure TForm1.Button1Click(Sender: TObject);
Var
S,T: TFileStream;
Begin
S:=TFileStream.Create( 'c:\v.jpg', fmOpenRead );
try
T:=TFileStream.Create( 'c:\b.jpg', fmOpenWrite or fmCreate );
try
T.CopyFrom(S, S.Size-strtoint(edit1.Text) ) ;
finally
T.Free;
end;
finally
s.Free;
end;
End;
对某些图片,edit1填写数值是,b.jpg会有减去的那部分图片丢失,而有些图片,却能完整的显示出图片,只是清晰度降低,同样是jpg,为什么。
另外,对后者,大多数情况下填写s.size的值的一半以上,才会明显影响分辨率,这样的话,这么压缩岂不既方便又实惠?