Delphi中载入GIF动画

以前要在 Delphi 中显示 GIF 动画,一种办法是使用第三方组件,别一种方法就是使用 WebBrowser 组件。在 Delphi 2009 中,其内部已支持 GIF 了(可能在 Delphi 2005 和 Delphi 2006 中已支持了,未确认)。关于 GIF 的相关类是 TGIFImage,在 GIFImg 单元中,看下面的代码,窗体中的 GIF 就动起来了:

[Delphi]  view plain copy
  1. <pre style="margin-top:0px; margin-bottom:0px; white-space:pre-wrap; word-wrap:break-word"><span style="color:#008000"></span><span style="color:#008284"></span><span style="color:#0000FF"></span><span style="color:#000080"><strong>uses</strong></span> GIFImg;  
  2. <span style="color:#008000"></span><span style="color:#008284"></span><span style="color:#0000FF"></span><span style="color:#000080"><strong>procedure</strong></span> TForm1.FormCreate(Sender: TObject);  
  3. <span style="color:#008000"></span><span style="color:#008284"></span><span style="color:#0000FF"></span><span style="color:#000080"><strong>begin</strong></span>  
  4.   <span style="color:#008000">// 先在窗体上放一个 TImage 组件:Image1;</span><span style="color:#008284"></span><span style="color:#0000FF"></span><span style="color:#000080"><strong></strong></span>  
  5.   Image1.Picture.LoadFromFile(<span style="color:#008000"></span><span style="color:#008284"></span><span style="color:#0000FF">'C:\Example.gif'</span><span style="color:#000080"><strong></strong></span>);  
  6.   <span style="color:#008000">// AnimationSpeed 设定动画速度,值越大,速度越快;</span><span style="color:#008284"></span><span style="color:#0000FF"></span><span style="color:#000080"><strong></strong></span>  
  7.   TGIFImage(Image1.Picture.Graphic).AnimationSpeed := <span style="color:#008000"></span><span style="color:#008284"></span><span style="color:#0000FF">500</span><span style="color:#000080"><strong></strong></span>;  
  8.   TGIFImage(Image1.Picture.Graphic).Animate := True;  
  9. <span style="color:#008000"></span><span style="color:#008284"></span><span style="color:#0000FF"></span><span style="color:#000080"><strong>end</strong></span>;</pre>  


首先,先下载TgifImage.pas单元。步骤:[project]-->[add to project...] 选择TgifImage.pas单元然后编译即可。

在使用TImage加载显示gif时通常是安装 TGifimage来扩展实现,在使用中也会有动态创建控件的情况,但如果直接加载gif图片话,gif动画并不会动,这就要先创建TGifImage类来加载动画,最后再交给Timage。代码如下:

  1. procedure TForm1.Button1Click(Sender: TObject);
  2. var
  3.   objImg: TImage;
  4.   objGif: TGIFImage;
  5. begin
  6.   if OpenDialog1.Execute then
  7.   begin
  8.     objImg := TImage.Create(Self);
  9.     objImg.Parent := Self;
  10.     objImg.SetBounds(10, 20, 140, 200);
  11.     objGif := TGIFImage.Create;
  12.     objGif.LoadFromFile(OpenDialog1.FileName);
  13.     objImg.Picture.Assign(objGif);
  14.     TGIFImage(objImg.Picture.Graphic).Animate := True;
  15.   end;
  16. end;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值