如何在paintbox上显示gif图片,并让它动起来,急急..

cheng4214 2011-05-25 09:35:28
最近项目来了新需求,要求在原先的图形监控上显示动态的图片,原先的控件是paintbox,就是要在一个大的paintbox上的指定区域显示一张gif图片

原先在paintbox上显示静态图片代码如下
JPeg := TJPegImage.Create;
JPeg.LoadFromFile('test.jpg');
PaintBox1.Canvas.StretchDraw(Rect(50, 50, 100, 100), JPeg);
把jpeg图片换成gif的就不能动了,

我试了下用image控件可以显示gif动态图片,代码如下
Image1.Picture.LoadFromFile('test.gif');
Image1.Stretch := True;
TGIFImage(Image1.Picture.Graphic).AnimationSpeed := 150;
TGIFImage(Image1.Picture.Graphic).Animate := True;
但不可能把原有paintbox控件换成image控件,这样代价太大,也会新生出许多问题,paintbox控件找了下没找到与Graphic相关的属性求各位大侠指教,帮忙想想办法,感激不尽!
...全文
194 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
SQLDebug_Fan 2011-05-25
  • 打赏
  • 举报
回复
有GIF组件,可以直接放在Panel实现动画。
mdejtod 2011-05-25
  • 打赏
  • 举报
回复
xfxlylove 2011-05-25
  • 打赏
  • 举报
回复
换成Image解决问题吧,以后可能还会进行其他的功能需求,这样改了后你以后再处理起来也方便。
zhunanhui 2011-05-25
  • 打赏
  • 举报
回复
不好意思发错,你这个个人觉得还是考虑换成image了,paintbox毕竟不是专用在图片显示上
zhunanhui 2011-05-25
  • 打赏
  • 举报
回复
如果二分之一你需要组成(0空格1/2)形式,如果一又二分之一你需要组成(1空格1/2)形式再写入excel
cheng4214 2011-05-25
  • 打赏
  • 举报
回复
谢谢dropme为我考虑的,gif图片在项目中表示一种设备实物,可以有许多的设备实物,如果用image覆盖到paintbox上面或用timer控制图片一张一张的切换,就要许多许多的image和timer,相当的繁琐,image和timer都需要动态生成和销毁,代价有点大...
dropme 2011-05-25
  • 打赏
  • 举报
回复
1.调整下image的位置,让他覆盖在paintbox上面可以吗?
2.把gif图片解析出来,用timer一张一张的画在paintbox上,实现动画~

1,183

社区成员

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

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