主要功能:
1生成指定图片的缩略图
2批量生成某一目录内所有图片缩略图
3提供5中缩略图尺寸定义模式
4目前只支持.jpg格式
测试版下载:http://bjfile.focus.cn/file/15483/728_MJpg.rar
核心代码:
//保存JPEG的缩略图
procedureSavePic(SourceFileName,DescFileName:String);
const
MaxWidth=200;
MaxHigth=200;
var
jpg:TJPEGImage;
bmp:TBitmap;
SourceJpg:TJPEGImage;
Width,Height,tmpInt:Integer;
begin
try
bmp:=TBitmap.Create;
SourceJpg:=TJPEGImage.Create;
Jpg:=TJPEGImage.Create;
//读取源文件
SourceJpg.LoadFromFile(SourceFileName);
//计算缩小比例
ifSourceJpg.Width>=SourceJpg.Heightthen
tmpInt:=Round(SourceJpg.WidthdivMaxWidth)
else
tmpInt:=Round(SourceJpg.HeightdivMaxHigth);
Width:=SourceJpg.WidthdivtmpInt;
Height:=SourceJpg.HeightdivtmpInt;
//缩小
bmp.Width:=Width;
bmp.Height:=Height;
bmp.PixelFormat:=pf24bit;
bmp.Canvas.StretchDraw(Rect(0,0,Width,Height),SourceJpg);
//保存
jpg.Assign(bmp);
jpg.SaveToFile(DescFileName);
finally
bmp.Free;
jpg.Free;
SourceJpg.Free;
end;
end;