使用timer和form的paint进行动态画图

标题 使用timer和form的paint进行动态画图

using System;
using System.Drawing;
using System.Windows.Forms;

namespace WindowsFormsApplication2
{
public partial class Form1 : Form
{
int i = 1;
//用于存放绘图内容的中间载体image
Image _image = null;
//在image上绘图的画布,不可见
Graphics _Graphics = null;
//画笔
Pen mypen = null;
//窗体上绘图的画布,可见
Graphics graphics = null;
public Form1()
{
InitializeComponent();
_image = new Bitmap(this.Width, this.Height);
//_Graphics是_image的画布,将画图信息存在_image内
_Graphics = Graphics.FromImage(_image);
mypen = new Pen(Color.Red);
//graphics为窗体画布,用来显示绘图信息
graphics = this.CreateGraphics();
}

    private void timer1_Tick(object sender, EventArgs e)
    {
        //间歇性动态画直线
        _Graphics.DrawLine(mypen, new Point(0, i), new Point(i, i));
        //清空画布
        graphics.Clear(this.BackColor );
        //在窗体画布上,显示绘制的图形
        graphics.DrawImage(_image, new Point(0, 0));
        i += 10;
    }

    private void Form1_Paint(object sender, PaintEventArgs e)
    {
        //清空画图
        graphics.Clear(this.BackColor );
        //将image的绘图信息展示在窗体的graphics上
        graphics.DrawImage(_image, new Point(0, 0));
    }
}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值