用Delphi实现缩略图查看(6)

2008-04-09 04:27:29来源:互联网 阅读 ()

新老客户大回馈,云服务器低至5折

if not (DirectoryExists(dir)) then exit;

//如果是c:\ d:\之类则转换为c: d:
if dir[length(dir)]=''''\'''' then
delete(dir,length(dir),1);

ImageFileList.ChangeDir(dir);

screen.Cursor:=crHourGlass;

self.Enabled:=false;
RefreshImage;
self.Enabled:=true;
screen.Cursor:=crDefault;
end;

6. 其中过程RefreshImage的代码如下:
//此过程把ImageFileList中记录的图片文件缩放后加载到ImageList1中,并在
//ListView1中显示
procedure TForm1.RefreshImage;
var
i:integer;
ImageFileName:string;
ThumbBmpLeft:integer;
ThumbBmpTop:integer;
ThumbBmpHeight:integer;
ThumbBmpWidth:integer;
begin
IsRefreshImageFinished:=false;
listview1.Clear;
imagelist1.Clear;

screen.Cursor:=crHourGlass;
ProgressBar1.Max:=ImageFileList.GetFileCount;
ProgressBar1.Visible:=true;
listview1.Items.BeginUpdate;
try
for i:=0 to ImageFileList.GetFileCount-1 do
begin

ImageFileList.SetIndex(i);
ImageFileName:=ImageFileList.GetCurFullFileName;
if IsJpgFile(ImageFileName) then
jpgtobmp(ImageFileList.GetCurFullFileName,ThumbJpg,OriginalBmp)
else
OriginalBmp.LoadFromFile(ImageFileList.GetCurFullFileName);

if OriginalBmp.Height>=OriginalBmp.Width then
begin

ThumbBmpWidth:=64*OriginalBmp.Width div OriginalBmp.Height;
ThumbBmpLeft:=(64-ThumbBmpWidth ) div 2;

ThumbBmp

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:DELPHI的通配符比较

下一篇:SDL Guide 中文译版(二)