浅析C#调用ImageAnimator

开发 后端
本文介绍C#调用ImageAnimator,这里介绍一个.net自身携带的类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类。

【编辑推荐】

  1. C#抽象类-特殊的类
  2. 介绍C#直接插入排序
  3. C#数据结构的排序算法
  4. 全面介绍C#指针操作
  5. 概述C#中的Assembly
责任编辑:佚名 来源: IT168
相关推荐

2009-07-31 17:28:35

C#语言调用DLL

2009-08-14 09:15:28

C#调用构造函数

2009-08-12 10:35:50

C#调用ActiveX

2009-08-17 13:18:01

C#调用Windows

2009-08-06 17:57:14

C# webServiC# WebServi

2009-08-21 11:24:16

C#异步调用

2009-09-03 13:08:43

C#调用记事本

2009-08-13 18:36:36

C#继承构造函数

2009-08-17 13:26:20

C#调用Windows

2009-09-18 19:09:41

C# COM组件

2009-09-03 13:48:46

C#调用记事本记事本程序

2009-08-17 18:34:50

C# ChangeCo

2009-08-14 17:45:52

C# ArrayLis

2009-09-04 09:27:48

C#调用浏览器

2009-08-07 17:25:37

C# SortedLi

2009-08-25 17:59:49

C#入门

2009-08-31 15:11:23

C#调用水晶报表

2009-09-04 10:05:16

C#调用浏览器浏览器的原理

2009-08-18 10:30:30

C#枚举

2009-08-11 14:45:41

C# DataGrid
点赞
收藏

51CTO技术栈公众号