- 作者:zhaozj
- 发表时间:2020-12-23 10:58
- 来源:未知
正在学习GIFImage和GraphicEx,把学习心得放在这里与大家共享。
刚学些GIFImage的使用,初步解决了GIF动画显示,闪烁的问题,总结如下: 1、GIFImage.pas,可不用打包安装,只需要简单的把GIFImage.pas加入到Project中即可USES了。 2、要把Image1的Width、Height设置成GIF图片的实际大小,可减少闪烁的发生,或者Image1.Stretch := true; 3、把GIF文件Assign给Image时,注意以下语句的区别,一种只能得到静态的GIF图片。 Image1.Picture.Assign(myGif);//正确的Assign,可以得到GIF动画。 image1.Picture.Bitmap.Assign(myGif);//只能得到静态的GIF图片。 程序如下所示,在DELPHI7,TGIFImage2.2下测试通过。 uses GIFImage;... var myGif:TGIFImage; begin myGif := TGIFImage.Create; myGif.LoadFromFile('e:/a.gif'); Image1.Width:=myGif.Width; Image1.Height:=myGif.Height; Image1.Picture.Assign(myGif); myGif.Free; end;
GraphicEx 9.9总结:1、在GraphicEx9.9中,GIF格式默认是关闭的,需要打开。方法是在GraphicConfiguration.inc文件中,找到{.$define UseLZW}修改成{$define UseLZW}2、将GraphicEx下的pas文件加入到例子中的project中,即可把例子重新编译,并支持GIF文件。(注意GraphicStrings.pas加入进去就行了。其它的DE,FR,RU就不要加了。)
使用GraphicEx 9.9,GIF不能显示动画,程序如下
uses GraphicExe;
procedure TForm1.GraphiExClick(Sender: TObject);var myGif:TGIFGraphic;begin myGif := TGIFGraphic.Create;
if myGif.CanLoad('e:/a.gif') then myGif.LoadFromFile('e:/a.gif');
image1.Picture.Assign(myGif);
myGif.Free;end;