GDI+入门(5、在GDI+中绘制带动画效果的图片)
五、在GDI+中绘制带动画效果的图片
private void Form2_Load(object sender, EventArgs e)
{
SetStyle(ControlStyles.DoubleBuffer, true);
SetStyle(ControlStyles.AllPaintingInWmPaint, true);
SetStyle(ControlStyles.UserPaint, true);
bmp = new Bitmap("1.gif");
ImageAnimator.Animate(bmp, new EventHandler(this.OnFrameChanged));
}
private void Form2_Paint(object sender, PaintEventArgs e)
{
ImageAnimator.UpdateFrames();
e.Graphics.DrawImage(this.bmp, new Point(0, 0));
}
private void OnFrameChanged(object o, EventArgs e)
{
this.Invalidate();
}
代码很简单:
我来解释一下关键的几个地方
SetStyle(ControlStyles.DoubleBuffer, true);
SetStyle(ControlStyles.AllPaintingInWmPaint, true);
SetStyle(ControlStyles.UserPaint, true);
使用二级缓冲,可以有效的防止图片闪烁
ImageAnimator:动画处理包含基于时间的帧的图像。
Animate 将多帧图像显示为动画。
CanAnimate 返回一个布尔值,该值指示指定图像是否包含基于时间的帧。
Finalize 允许 Object 在“垃圾回收”回收 Object 之前尝试释放资源并执行其他清理操作。 (继承自 Object。)
MemberwiseClone 创建当前 Object 的浅表副本。 (继承自 Object。)
StopAnimate 终止正在运行的动画。
UpdateFrames()使该帧在当前正被动画处理的所有图像中前移。新帧在下一次呈现图像时绘制。
UpdateFrames(Image) 使帧在指定的图像中前移。新帧在下一次呈现图像时绘制。此方法只适用于包含基于时间的帧的图像。
this.Invalidate();
Invalidate()使显示在设计图面上的控件的整个区域无效,并向控件设计器发送重新绘制控件的信号。(继承自 ControlDesigner。)
Invalidate(Rectangle) 使显示在设计图面上的控件的指定区域无效,并向控件设计器发送重新绘制控件的信号。(继承自 ControlDesigner。)
以上三个地方在使用动画效果是比较重要
转载于:https://www.cnblogs.com/kevin-top/archive/2010/06/22/1762666.html
GDI+入门(5、在GDI+中绘制带动画效果的图片)相关推荐
- 【python教程入门学习】用pyecharts绘制带动画效果的“时间轮播图
今天我们要分享的是一个数据可视化的案例. 在讲述本文之前,为了满足大家的好奇心,我们先来看看最终做出来的效果呈现. 不管学习什么技术,官网是最好的老师.对于pyecharts绘图库,知道了他的绘图原理 ...
- 用Podofo绘制带透明度的png图片
用Podofo绘制带透明度的png图片 前言: Podofo库是一个通用跨平台的开源c++类库,用于处理pdf文档,包括创建,修改,添加水印等功能. 不过因为其是开源项目,而且作者更新也比较慢.所以有 ...
- 我的Android进阶之旅------Android利用温度传感器实现带动画效果的电子温度计
要想实现带动画效果的电子温度计,需要以下几个知识点: 1.温度传感器相关知识. 2.ScaleAnimation动画相关知识,来进行水印刻度的缩放效果. 3.android:layout_weight ...
- Android高效率实现弹出带动画效果的对话框,仿照微信对话框效果
转载请注明出处: http://blog.csdn.net/jakeyangchina/article/details/53423453 看到很多app页面里都有弹出对话框效果,今天使用PopupWi ...
- html5制作天气动画背景,CSS icon图标之纯CSS实现带动画效果的天气图标
CSS3动画属性并不是很多,但重点其实是你怎样去运用它,从简单的hover状态或复杂的小动画,都可以巧妙的用CSS3动画属性来实现. 今天主要是和大家分享一个比较有创意.实用的CSS天气图标动画,静态 ...
- css3+jQuery制作导航菜单(带动画效果)
<!DOCTYPE html> <html><head><meta charset="UTF-8"><title>css ...
- android中设置Animation 动画效果
在 Android 中, Animation 动画效果的实现可以通过两种方式进行实现,一种是 tweened animation 渐变动画,另一种是 frame by frame animation ...
- (带动画效果)卷积神经网络的讲解.pptx
这学期我上的另一门课是本科生的<深度学习>,主要用的是吴恩达老师的<深度学习>视频课的内容. 使用教材:吴恩达<深度学习>课程笔记 课外参考书:<深度学习&g ...
- jQuery中的渐变动画效果
jQuery中的渐变动画效果jQuery中的渐变动画效果 转载于:https://www.cnblogs.com/DreamDrive/p/5780292.html
最新文章
- Android之创建简单的ProgressDialog
- HDU2016 数据的交换输出
- SpringBoot常见功能特性分析
- 另类vs2015+xamarin 的android界面乱码 解决
- qt文件选择控件_Qt编写的项目作品2-控件属性设计器(组态)
- Fiori Elements value help selection pass back
- Android 使用Picasso加载网络图片等比例缩放
- PBRT中的误差舍入管理(浮点运算)
- 中式国风地产创意海报素材模板
- 20个很有帮助的 Web 前端开发教程
- 修改linux系统时间的方法(date命令)
- ios获取区域服务器信息,ios获取服务器数据
- Sqlalchemy 乱码解决方法
- android mapstring, string遍历,MapString, String 遍历的四种方法
- Vue3使用echarts教程
- 有限元分析能具体做什么?
- yar php使用,PHP yar的使用简介
- 计算机网络-自顶向下笔记-可靠数据传输原理(三种rdt)
- 怎么安装java_怎么安装打印机到电脑步骤
- 【观察】“专精特新”数智化国产替代,为何首选用友U9cloud?