学海无涯

导航

GDI+

GDI+ 提供了功能强大的 Matrix 类来实现矩阵的旋转,错切、平移、比例等变换操作,以便产生复杂的新图形。

创建Graphics类对象的的三种方法(窗体作为画板)

1.1 重写Paint方法

 protected override void OnPaint(PaintEventArgs e)
        {
            base.OnPaint(e);
            GetRegionDataExample(e);
        }
        protected override void OnPaintBackground(PaintEventArgs e)
        {
            base.OnPaintBackground(e);
            Brush brush = new SolidBrush(Color.Blue);
            e.Graphics.FillRectangle(brush, e.ClipRectangle);
        }

1.2 Paint事件

    在窗体或控件的Paint事件中创建,将其作为PaintEventArgs的一部分。在为控件创建绘制代码时,通常会使用此方法。

    例如,在Paint事件中创建Graphics对象:

private void Form1_Paint(object sender, PaintEventArgs e)    //窗体的Paint事件
        {
            Graphics g = e.Graphics;    //创建Graphics对象
     }

1.3 CreateGraphics方法

    调用窗体或控件的CreateGraphics方法可以获取对Graphics对象的引用,该对象表示控件或窗体的绘图画面。如果在已存在的窗体或控件身上绘图,应该使用此方法

    例如,在窗体的Load事件中,通过CreateGraphics方法创建Graphics对象

 private void Form1_Load(object sender, EventArgs e)    //窗体的Load事件
        {
            Graphics g;    //声明一个Graphics对象
            g = this.CreateGraphics();
        g.Dispose();//手动创建,需要手动释放对象 }

1.4 Graphics.FromImage方法(图象做为画板)

    由从Image继承的任何对象创建Graphics对象,调用Graphics.FromImage方法即可,该方法在需要更改已存在的图像时十分有用,例:

private void Form1_Load(object sender, EventArgs e)
        {
            Bitmap mbit = new Bitmap(@"C:\test.bmp");
            Graphics g = Graphics.FromImage(mbit);
        }

  

 

posted on 2024-01-12 16:45  宁静致远.  阅读(8)  评论(0编辑  收藏  举报