winform轮流显示图片问题(含gif图片)

缭绕飘渺 2012-10-11 03:00:11
界面上放了一个panel
根据需要在程序中给panel添加控件
如果要显示的是图片就添加一个pictureBox,然后显示指定的图片
如果要显示文本就添加一个textbox
要是显示的内容放在List<string>列表中,string中内有文件路径和文件类型说明
我这些内容是顺序显示,取出一个显示一个
我用foreach循环列表取出内容,然后给panel添加控件显示(当然每次切换前先清空panel的控件)
两个问题
一、如果实现显示间隔,线程sleep不好使
二、如果取出的是gif图片,如何判断gif播放完了,再显示下一个内容
...全文
270 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
缭绕飘渺 2012-10-13
  • 打赏
  • 举报
回复
多谢5楼
我也找到了你的方法
也是提取gif所有间隔去实现定时器
蒋晟 2012-10-13
  • 打赏
  • 举报
回复
try 
{
PropertyItem item = img.GetPropertyItem (0x5100); // FrameDelay in libgdiplus
// Time is in 1/100th of a second
delay = (item.Value [0] + item.Value [1] * 256) * 10;
}
catch
{
delay = 200;
}
缭绕飘渺 2012-10-11
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 的回复:]

gif文件中有时间线,但是gif播放速度不一定是这个时间
[/Quote]
能说的稍微清晰点吗
难道是需要我自己根据gif头获取文件帧数,然后计算时间?
卧_槽 2012-10-11
  • 打赏
  • 举报
回复
gif文件中有时间线,但是gif播放速度不一定是这个时间
缭绕飘渺 2012-10-11
  • 打赏
  • 举报
回复
sleep后窗体显示不了
会等待
当然这个可以通过线程解决,不算一个问题了
主要如何判断gif播放完了,然后再去显示下一个内容
zhanglong19891129 2012-10-11
  • 打赏
  • 举报
回复
如果实现显示间隔,线程sleep不好使...怎么不好使咯???环境线程 sleep() 没得问题吧..或者用trimer

110,524

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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