现在的位置: 首页 > 综合 > 正文

Delphi增加对动画Gif的支持

2013年10月02日 ⁄ 综合 ⁄ 共 1024字 ⁄ 字号 评论关闭

以下内容转载于网络:http://hi.baidu.com/delphilee/blog/item/7fd4a73f8c94f3e855e72310.html

 

今天在查看Rad Studio 2007源代码文件夹时发现有个以前一直没有注意到的文件夹--TGIFImage,位置与TJPEGImage文件夹并列,我于是猜想Rad Studio 2007的Image控件可能已经支持动画GIF了。在仔细研究了源代码后发现,这是从著名的TGIFImage免费控件改写的,作者是Anders Melander,后来他将TGIFImage控件代码捐赠给了CodeGear,他后来加入了著名的Delphi Jedi组织,所以TGIFImage也能在JCL控件包中找到。Rad Studio
2007所带的GIFImg.pas大部分代码与原先的TGIFImage相同,除不带例子外,CodeGear还对代码作了改进和限制,如不能再将GIFImg.pas作为控件添加了等,当然,与VCL的融合也就更紧密了。使用中我还发现了Rad Studio 2007的一个小Bug--通过Ctrl+点击GIFImg不能跳转到相关的源代码,提示找不到GIFImg.pas,而事实上GIFImg.pas文件是存在的。下面是动画GIF的支持方法:
  1、在窗体上放一个Image1控件。注意:这时设置其Picture属性,加载一幅动画GIF是不会动画显示的。
  2、在窗体的FormCreate事件或其他事件(如按钮的点击事件)中写如下代码:
  Image1.AutoSize := True; Form1.Autosize := True; Image1.Picture.LoadFromFile('C:\Gif89a.gif');
  TGIFImage(Image1.Picture.Graphic).AnimationSpeed := 500; // 在需调整播放速度时可以通过代码调整AnimationSpeed的值,其值越大,则动画的速度越快。
  TGIFImage(Image1.Picture.Graphic).Animate := True;
  3、运行工程,可以看到这时已经能显示动画GIF了。更多有关GIF的其他功能,可以自行查看GIFImg.pas源文件了解。
  如果直接在窗体的Image1控件中设置加载动画GIF文件,并检查工程的语法后,Rad Studio 2007的IDE会自动加上GIFImg的引用。

抱歉!评论已关闭.