网站导航免费论文 原创论文 论文搜索 原创论文 网学软件 学术大家 资料中心 会员中心 问题解答 原创论文 论文素材 设计下载 最新论文 下载排行 论文上传 在线投稿 联系我们
返回网学首页
网学联系
最新论文 推荐专题 热门论文 素材专题
当前位置: 网学 > 编程文档 > DELPHI > 正文
用Delphi实现缩略图查看
来源:Http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 12/10/12
下载{$ArticleTitle}原创论文样式

  if not IsRefreshImageFinished then exit;
  dir:=ShellTreeView1.Path;
  //edit1.Text:=dir;

  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.Canvas.Brush.Color :=clBtnFace;
        ThumbBmp.Canvas.FillRect(ThumbBmp.Canvas.ClipRect);

        DrawPanel(ThumbBmp.Canvas,0,0,79,79,RaisedPanel);
        DrawPanel(ThumbBmp.Canvas,7+ThumbBmpLeft,7,ThumbBmpWidth+1,64,LoweredPanel);
        ThumbBmp.Canvas.StretchDraw(Rect(8+ThumbBmpLeft,8,8+ThumbBmpLeft+ThumbBmpWidth,71),OriginalBmp);

        imagelist1.Add(ThumbBmp,nil);
      end
      else
      begin
        ThumbBmpHeight:=64*OriginalBmp.Height div OriginalBmp.Width;
        ThumbBmpTop:=(64-ThumbBmpHeight ) div 2;

        ThumbBmp.Canvas.Brush.Color :=clBtnFace;
        ThumbBmp.Canvas.FillRect(ThumbBmp.Canvas.ClipRect);

        DrawPanel(ThumbBmp.Canvas,0,0,79,79,Raised

网学推荐

免费论文

原创论文

浏览:
设为首页 | 加入收藏 | 论文首页 | 论文专题 | 设计下载 | 网学软件 | 论文模板 | 论文资源 | 程序设计 | 关于网学 | 站内搜索 | 网学留言 | 友情链接 | 资料中心
版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
Copyright 2008-2015 myeducs.Cn www.myeducs.Cn All Rights Reserved
湘ICP备09003080号