请教关于TBitmap和TGifImage一起使用的问题(100分)

  • 主题发起人 主题发起人 fcputao
  • 开始时间 开始时间
F

fcputao

Unregistered / Unconfirmed
GUEST, unregistred user!
我的代码循环执行TBitmap.assign('xxx.gif')操作(xxx每次不同)
在Win98下当循环的文件很多时会出现“Bitmap is not valid”的错误,而WinXP下不会,请问这个问题是由什么引起的?
 
TBitmap不能调入gif文件的啊,只能是bmp文件。
 
对不起,代码是这样的:
var BmpSource: TBitmap;
Gif: TGIFImage;

for ......... do
begin
//省掉n行
Gif := TGIFImage.Create;
Gif.LoadFromFile(ImgFileName);
BmpSource.Assign(Gif);
//省掉n行
end;
 
会不会是某些特殊的gif文件不支持呢?
 
不是阿,同一个文件,如果处理的文件总数少时可以读出,多了就读不出来
 
你需要先仔细跟踪调试一下,才好说了
同一个文件支持就是支持,不支持就是不支持。
如果有时候不支持,那应该是你的代码有问题,比如没有正常释放。有时候一个错误或引起其他的现象
 
请问什么情况下会出现'Bitmap image is not valid'的错误?
 
BPL的问题。
 
给分吧,答案如下:
//省掉n行
BmpSource:=Tbitmap.create;
Gif := TGIFImage.Create;
Gif.LoadFromFile(ImgFileName);
BmpSource.Assign(Gif);
BmpSource.free;
gif.free;加一个Gif.free;//创建对象记得free;
//省掉n行
 
已经解决了。
我再循环中设置了条件退出,而退出的时候没有free掉GIFImage,所以导致了上述问题
 
后退
顶部