WPF 中Image切换ImageSource做动画

在WPF中,我想通过连续改变Image的值来做动画效果,可是当实现后发现CPU占用出去的高,经测试发是imgsourceconverter的问题。所以请问各位人兄,是否有... 在WPF中,我想通过连续改变Image的值来做动画效果,可是当实现后发现CPU占用出去的高,经测试发是imgsourceconverter的问题。所以
请问各位人兄,是否有提高性能的方法,或者其它用C#实现高效动画播放的方法。数据源是一堆连续的图片。
感谢兄弟的回答,不过我这儿的情况可能说得不是很清楚。我下面再说说
我这儿有一堆连续的图片从网络上发过来,我每接受一张就显示,因为图片是连续的,所以会产生动画视频效果。
这个是确的。现在的问题是,我采用改变Image的属性ImageSource的方法来加载图片,CPU性能会很底。除此之外,我想用C#在WPF上直接绘图(不知道WPF里可以不)或许是一种方法,但是我不知道该怎么做,网上也没有找到适合的资料。烦请有这方面经验的朋友些能提供一些实质性的解决方案。代码或者可以实现的思路。
把一张张连续的显示在WPF用户界面上以便形成动画效果。
展开
 我来答
rodericksu
2010-03-25 · TA获得超过1295个赞
知道小有建树答主
回答量:687
采纳率:0%
帮助的人:908万
展开全部
用连续改变image的方法来实现动画应该不是一个好主意
这就等于在一帧一帧放视频啊 性能肯定高不到哪里去的

最好是应该用矢量path来animation啊,这才是WPF原生支持的动画效果

不过考虑到你手上已经是一堆连续图片了,如果一定要一张一张播放的话,那可能就需要注意加载图片的大小和时机了。
如果所需要的大小没有那么大,就不要把原本很大的图都加载了,加载一个小的copy,还有就是事先把要用的图都加载好,不要到要播放的时候再在XAML改变Image的Source属性

XAML里Source属性是用string的,当然要用converter转换再加载对应的图片。提前加载好,后台代码直接更改Source属性……
海迪拉森
2010-03-26 · TA获得超过203个赞
知道小有建树答主
回答量:259
采纳率:0%
帮助的人:0
展开全部
在播放动画前用一个泛型的集合先把所以图片都储存起来,这样就不用转换了

public class myImage
{
public ImageSource AnimationImage { get; private set; }

public myImage(ImageSource image)
{
AnimationImage = image;
}
}

public class myImageCollection : List<myImage>
{
public void addImage(ImageSource image)
{
Add(new myImage(image));
}
}

在一个循环语句里每隔一个间隔就读集合,设置前台的ImageSource就可以播动画了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式