请教关于TBitmap和TGifImage一起使用的问题

Putao 2003-08-19 02:59:18
我的代码循环执行TBitmap.assign('xxx.gif')操作(xxx每次不同)
在Win98下当循环的文件很多时会出现“Bitmap is not valid”的错误,而WinXP下不会,请问这个问题是由什么引起的?
...全文
52 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhouguoyao 2003-10-14
  • 打赏
  • 举报
回复
学习
Putao 2003-08-23
  • 打赏
  • 举报
回复
请问一般什么情况下会出现'Bitmap image is not valid'的错误?
kuan 2003-08-20
  • 打赏
  • 举报
回复
研究中……
Putao 2003-08-20
  • 打赏
  • 举报
回复
对不起,代码是这样的:
var BmpSource: TBitmap;
Gif: TGIFImage;

for ......... do
begin
//省掉n行
Gif := TGIFImage.Create;
Gif.LoadFromFile(ImgFileName);
BmpSource.Assign(Gif);
//省掉n行
end;
江山易改 2003-08-19
  • 打赏
  • 举报
回复
明显是操作系统API函数造成的。在windows98下进行图形处理的API函数没有将gif格式加入进去,而在XP里可能有了修正
windwather 2003-08-19
  • 打赏
  • 举报
回复
真是奇怪!
Putao 2003-08-19
  • 打赏
  • 举报
回复
To DWGZ():
是啊。
我的程序是在98下编的,98下文件多了会出错,但XP就不会
Putao 2003-08-19
  • 打赏
  • 举报
回复
而且文件少时就不会出现这种状况。

To jingye(井中叶):
但可以在外面忽略掉是什么意思?
DWGZ 2003-08-19
  • 打赏
  • 举报
回复
winXP下不会???????????????
jingye 2003-08-19
  • 打赏
  • 举报
回复
var
bmp :TBitmap;
Gif :TGifImage;
begin
if ExtractFileExt(CurrentFile)='.gif' then
begin
Gif:= TGifImage.Create;
Gif.LoadFromFile(CurrentFile);
bmp :=TBitmap.Create;
bmp.Assign(Gif);//在这里我用的d7版的TGifImage,会报错,但可以在外面忽略掉。
Image.picture.Bitmap.Assign(bmp);
end
end;

1,183

社区成员

发帖
与我相关
我的任务
社区描述
Delphi GAME,图形处理/多媒体
社区管理员
  • GAME,图形处理/多媒体社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧