C# GDI+绘图基础

本文介绍了C#中GDI+的基础知识,包括GDI+的概述、Graphics类及其重要方法。GDI+作为微软提供的图形设备接口,提供了二维矢量图形、图像处理和文字显示等服务。在C#中,Graphics类是绘图的核心,用于创建画布并执行绘图操作。创建Graphics对象主要有三种方式:通过Paint事件、调用CreatGraphics方法以及使用FromImage方法。掌握这些基础知识对于进行C#图形编程至关重要。

目录

GDI+绘图基础

GDI+概述

Graphics类

使用Graphics

创建Graphics对象

Graphics类的方法成员


GDI+绘图基础

编写图形程序时需要使用GDI(图形设备接口Graphics Device Interface),从程序设计的角度看,GDI包括两个部分:GDI对象和GDI函数。 GDI对象定义了GDI函数使用的工具和环境变量,GDI函数对象绘制各种图形。在C#中,进行图形程序编写时用到的都是GDI+版本,是GDI的进一步扩展,它使我们变成更加方便。

GDI+概述

GDI+是微软提供的新的图形设备接口,通过托管代码的类来展现。GDI+主要提供了三类服务:

  • 二维矢量图形

  • 图像处理

  • 文字显示

GDI+比GDI的优越性主要展现在2个方面:

  • 扩展了新功能

  • 变成更加简易灵活

Graphics类

Graphics类封装一个GDI+绘图页面,提供将对象绘制到显示设备的方法,与特定的设备上下文关联。所有的画图方法都被包括在Graphics类中,在绘制任何对象时,我们首先要创建一个Ggraphics实例,这个实例相当于创建了一块画布,有了画布才可以使用各种画图方法绘图。 绘图程序的设计一般分为两个步骤:

(一)创建Graphics对象; (二)使用创建的Graphics对象的方法绘图、显示文本或处理图像。

使用Graphics

创建Graphics对象

  1. 利用Paint事件中的PaintEventArgs在窗体或控件的Paint事件中接收对图像对象的引用。在为控件创建绘制代码时,通常用此方法。      

     private void Form1_Paint(object sender, PaintEventArgs e)
            {
                Graphics g = e.Graphics;
            }

     

  2. 调用控件或窗体的CreatGraphics方法 调用控件或窗体的CreateGraphics方法获取对象的引用,创建Graphics的实例。如果想在已存在的窗体或控件上画图,通常使用此方法创建实例。

     //1.创建Graphics对象实际上就是创建一块画布,
     //所以要确定这个画布所在的位置,以哪个对象为主创建画布
                Graphics g = this.CreateGraphics();

     

  3. 调用Graphics类的FromImage()方法。在需要更改已存在的图像时,通常用此方法。

     Image img = Image.FromFile("g1.jpg");
     Graphics g1 = Graphics.FromImage(img);

     

Graphics类的方法成员

创建了Graphics类的对象引用后,就可以利用该对象的成员绘制各种各样的图形,下表列出了Graphics类的常用方法成员。

方法名称说明
DrawArc画弧形
DrawBezier画立体的贝尔赛曲线
DrawClosedCurve画闭合曲线
DrawCurve画曲线
DrawEllipse画椭圆
DrawImage画图像
DrawLine画线
DrawPie画饼状图
DrawPolygon画多边形
DrawRectangle画矩形
DrawString绘制文本
FillEllipse填充椭圆
FillPath填充路径
FillPie填充饼图
FillRectangle填充矩形
FillRegion填充区域

在.NET中,GDI+的所有绘图功能都包括在System.Drawing、System.Drawing.Imaging、System.Drawing.Drawing2D和System.Drawing.Text中

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值