C#手工双缓冲技术用法实例分析
作者:zhuzhao 发布时间:2023-05-09 07:13:44
标签:C#,缓冲
本文实例讲述了C#手工双缓冲技术。分享给大家供大家参考。具体如下:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
namespace advanced_drawing
{
public partial class Form19 : Form
{
BufferedGraphicsContext bufferContext;
Bitmap gif = new Bitmap(@"d:/我的文档/桌面/ico/a.GIF");
public Form19()
{
InitializeComponent();
bufferContext = new BufferedGraphicsContext();
bufferContext.MaximumBuffer = this.ClientRectangle.Size;
}
void gif_FrameChanged(object sender, EventArgs e)
{
Graphics g = this.CreateGraphics();
BufferedGraphics frame = bufferContext.Allocate(g, this.ClientRectangle);
ImageAnimator.UpdateFrames(gif);
frame.Graphics.DrawImage(gif, this.ClientRectangle);
frame.Render();
}
private void Form19_FormClosing(object sender, FormClosingEventArgs e)
{
bufferContext.Dispose();
}
private void Form19_Paint(object sender, PaintEventArgs e)
{
if (ImageAnimator.CanAnimate(gif))
{
ImageAnimator.Animate(gif, gif_FrameChanged);
}
}
}
}
希望本文所述对大家的C#程序设计有所帮助。


猜你喜欢
- webflux过滤器(RouterFunction实现)相关类与接口HandlerFiterFunction@FunctionalInter
- IDEA 全称 IntelliJ IDEA,是java编程语言开发的集成环境。IntelliJ在业界被公认为最好的java开发工具,尤其在智
- 前文说到 优雅的使用枚举参数 和 实现原理,本文继续说一下如何在 RequestBody 中优雅使用枚举。本文先上实战,说一下如何实现。在
- Android Handler的使用,在讲Handler之前,我们先提个小问题,就是如何让程序5秒钟更新一下Title.首先我们看一下习惯了
- Json格式在后台服务中的重要性就不多说了,直入正题。首先引入pom文件,这里使用的是1.2.83版本<dependency>
- EhCache 是一个纯Java的进程内缓存框架,具有快速、精干等特点,是Hibernate中默认的CacheProvider。ehcach
- 前言本文主要介绍了关于android实现一键锁屏和一键卸载的相关内容,分享出来供大家参考学习,这两个功能也是大家在开发中会遇到的两个需求,下
- Java解压缩zip - 多个文件(包括文件夹),对多个文件和文件夹进行压缩,对复杂的文件目录进行解压。压缩方法使用的是可变参数,可以压缩1
- 什么是依赖注入首先,某个类的成员变量称为依赖,如若此变量想要实例化引用其类的方法,可以通过构造函数传参或者通过某个方法获取对象,此等通过外部
- 和Android UI layout一样,我们也可以在XML中定义应用程序的菜单。通过在菜单的onCreateOptionsMenu方法中膨
- 需求是要做几个小游戏的抽奖功能,需要根据不同的游戏有不同的抽奖规则,其中也有很多共性,可归纳为只按奖品占比抽取、奖品占比与奖品数量抽取、分段
- 1、 如何给节点添加图片? 首先需要添加一个图片控件,然后给它加入图片,最后把TreeList的节点图片属性和图片控件绑定,代码如下:Ima
- 本文实例为大家分享了C#线程倒计时器源码,供大家参考,具体内容如下using System;using System.Collections
- 1、conditional注解介绍含义: 基于条件的注解作用: 根据是否满足某一个特定条件来决定是否创建某个特定的bean意义: Sprin
- 在上篇文章,我们介绍了Get方法的设计过程和测试结果,现在我们需要对前面代码进行重构和修改,本篇需要完成以下目标。1)重构Get方法2)如何
- 这篇文章主要介绍了如何使用Spring工具类动态匹配url,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要
- 一、背景即使我电脑安装的JDK版本是8,然而在idea运行中常常提示xxjdk1.5已过时之类的,why?明明是我装的JDK8啊二、解决鼠标
- 这篇文章主要介绍了springboot redis分布式锁代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价
- 介绍TextView 是 Android 开发中最常用的小部件之一。它用于在屏幕上显示文本。但是,TextView 有几个较少为人知的功能,
- 这里并未涉及到JSR 181 Annotations 的相关应用,具体的三种方式如下① 通过WSDL地址来创建动态客户端 ② 通过服务端提供