WPF splashscreen ,图片是gif的格式,但显示出来的效果却是静态的

王思明 2016-04-27 10:56:30
是需要重新开线程吗?有没有具体的实例

使用 SplashScreen 类,以便在 WPF 应用程序启动时在启动窗口(也称为“初始屏幕”)中显示图像。 调用 Show 方法以显示初始屏幕。 调用 Close 方法以关闭初始屏幕。 指定 SplashScreen 构造函数中要使用的图像
...全文
723 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
baidu_31302759 2016-05-14
  • 打赏
  • 举报
回复
引用 9 楼 hbu_pig 的回复:
遇到过这种。当时是下载了个解析的gif的类库,直接用的。那个还有点内存泄露,就不推荐给你了
放在流中应该会好一些吧
baidu_31302759 2016-05-14
  • 打赏
  • 举报
回复
引用 8 楼 muzizongheng 的回复:
在做gif的时候本身就有帧间时间段的设置, 显示的话正常是需要根据gif内部的这个设置数据来进行的,而不是我们随意更改个时间, 不然会导致gif的播放和设计时不一致。 至于你说的大图等这个问题, 你可以先解析都读取出来,然后显示的效果肯定是OK的。加载时可以用一些好的交互方式,让用户去等待。我觉得这个是通用做法, 用户不会有什么抱怨。
谢谢 学习到了
baidu_31302759 2016-05-10
  • 打赏
  • 举报
回复
引用 6 楼 muzizongheng 的回复:
[quote=引用 4 楼 baidu_31302759 的回复:] [quote=引用 3 楼 muzizongheng 的回复:] 可以自己写个类, 解析gif的每帧,然后线程中根据帧之间的时间间隔进行循环显示即可,比如不断更新image控件的source。
是要把gif再分成每张图,然后在一帧一帧的往image里面塞么[/quote] 是的, 显示gif的原理就是这个。 只不过是封装成控件或者后端加载库, 别的地方用起来方便。[/quote] 那还有个问题想请教,要是图片比较大的时候,那岂不是有些慢,要去控制帧率什么的么
muzizongheng 2016-05-10
  • 打赏
  • 举报
回复
引用 4 楼 baidu_31302759 的回复:
[quote=引用 3 楼 muzizongheng 的回复:] 可以自己写个类, 解析gif的每帧,然后线程中根据帧之间的时间间隔进行循环显示即可,比如不断更新image控件的source。
是要把gif再分成每张图,然后在一帧一帧的往image里面塞么[/quote] 是的, 显示gif的原理就是这个。 只不过是封装成控件或者后端加载库, 别的地方用起来方便。
baidu_31302759 2016-05-10
  • 打赏
  • 举报
回复
http://www.cnblogs.com/zjoch/p/3679638.html 我只做过用image实时显示,后来我发现image只能显示第一张,所以我上网上查了查
baidu_31302759 2016-05-10
  • 打赏
  • 举报
回复
引用 3 楼 muzizongheng 的回复:
可以自己写个类, 解析gif的每帧,然后线程中根据帧之间的时间间隔进行循环显示即可,比如不断更新image控件的source。
是要把gif再分成每张图,然后在一帧一帧的往image里面塞么
欢乐的小猪 2016-05-10
  • 打赏
  • 举报
回复
遇到过这种。当时是下载了个解析的gif的类库,直接用的。那个还有点内存泄露,就不推荐给你了
muzizongheng 2016-05-10
  • 打赏
  • 举报
回复
在做gif的时候本身就有帧间时间段的设置, 显示的话正常是需要根据gif内部的这个设置数据来进行的,而不是我们随意更改个时间, 不然会导致gif的播放和设计时不一致。 至于你说的大图等这个问题, 你可以先解析都读取出来,然后显示的效果肯定是OK的。加载时可以用一些好的交互方式,让用户去等待。我觉得这个是通用做法, 用户不会有什么抱怨。
muzizongheng 2016-05-04
  • 打赏
  • 举报
回复
可以自己写个类, 解析gif的每帧,然后线程中根据帧之间的时间间隔进行循环显示即可,比如不断更新image控件的source。
西村秀木 2016-04-28
  • 打赏
  • 举报
回复
http://stackoverflow.com/questions/210922/how-do-i-get-an-animated-gif-to-work-in-wpf
exception92 2016-04-27
  • 打赏
  • 举报
回复
WPF 不支持 gif ,使用异步委托,后台异步加载数据,显示一个包含 progressbar的window 窗口。
在Windows系统中,notepad.exe(记事本)是一个“经典的”、“简洁的”文本编辑器。这个软件,没有华丽的外观,也没有繁杂的功能,仅仅是一个文本编辑小软件。虽然经过Windows系统数十年的变换,但它却保持着永恒姿态,数十年来几乎不曾改变过。曾经,VS中的经典DEMO中,就有它的身影,一个新建的项目,就藏有一个新建的“记事本”。然而,在WPF的项目中,“记事本”却消失的无影无踪,也许是很容易实现,也许是为了革新,而不愿再传承“经典”。确实,使用WPF技术再次让“记事本”复活,确实也是一件非常容易的事情。但是,如果,使用WPF技术,再搭配当下非常流行的MVVM模式呢?复活“记事本”的难度却陡然上升至很多WPF程序员为之默默叹气。而,MVVM模式是掌握WPF的最顶级技术,MVVM模式拥有的无尽的优势,让WPF相对于过往的编程模式来说,是一种革命性的创新,从而也成为大中型WPF项目中必须的模式。但,学习难度。。。。。。在这个《WPF记事本开发详解》的课程中,赵老师带领你在WPF中,从零开始一步步构建MVVM模式,直到让你亲自以WPF+MVVM的方式,让这个经典的“记事本”软件从你的手中“复活”。在课程中,赵老师会详细讲解WPF和MVVM中的各种技巧,让你从此爱上WPF+MVVM编程。

8,737

社区成员

发帖
与我相关
我的任务
社区描述
WPF/Silverlight相关讨论
社区管理员
  • WPF/Silverlight社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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