软件编程
位置:首页>> 软件编程>> C#编程>> C#手工双缓冲技术用法实例分析

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#程序设计有所帮助。

0
投稿

猜你喜欢

手机版 软件编程 asp之家 www.aspxhome.com