浅析C#调用ImageAnimator

最近在做一个图片查看器,由于使用一般的PctureBox,在性能和缩放控制上都无法满足预期的要求,因此所有组件的呈现均是通过重写控件的 OnPaint事件来绘制。在查看gif图片时发现Graphics.DrawImage只呈现第一帧,无法满足预期要求,因此经过摸索寻找到了解决自绘 gif的较好办法。

这里介绍一个.net自身携带的类ImageAnimator,这个类类似于控制动画的时间轴,C#调用ImageAnimator.CanAnimate可以判断一个图片是否为动画,C#调用ImageAnimator.Animate可以开始播放动画,即每经过一帧的时间触发一次OnFrameChanged委托,我们只要在该委托中将Image的活动帧选至下一帧再迫使界面重绘就可以实现动画效果了。

为了方便以后的使用,我将这些代码整合到了一起,形成一个AnimateImage类,该类提供了CanAnimate、FrameCount、CurrentFrame等属性,以及Play()、Stop()、Reset()等动画常用的方法,代码如下

 
 
 
  1. usingSystem;  
  2. usingSystem.Collections.Generic;  
  3. usingSystem.Text;  
  4. usingSystem.Drawing;  
  5. usingSystem.Drawing.Imaging;  
  6.  
  7. namespaceGifTest  
  8. {  
  9. /**////  
  10. ///表示一类带动画功能的图像。  
  11. ///  
  12. publicclassAnimateImage 

以上介绍C#调用ImageAnimator类。


名称栏目:浅析C#调用ImageAnimator
网页链接:http://bzwzjz.com/article/cdpjhoo.html

其他资讯

Copyright © 2007-2020 广东宝晨空调科技有限公司 All Rights Reserved 粤ICP备2022107769号
友情链接: 定制网站建设 网站建设费用 网站设计公司 网站建设方案 成都网站制作 网站设计 网站制作 成都网站建设公司 自适应网站设计 重庆网站建设 重庆网站建设 成都网站建设 高端网站设计 重庆企业网站建设 成都网站建设 专业网站设计 成都定制网站建设 成都企业网站建设公司 外贸营销网站建设 四川成都网站制作 重庆网站设计 手机网站制作